typescript 6.0.3 → 7.0.2
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/{ThirdPartyNoticeText.txt → NOTICE.txt} +249 -6
- package/README.md +49 -50
- package/bin/tsc +1 -1
- package/dist/api/async/api.d.ts +529 -0
- package/dist/api/async/api.d.ts.map +1 -0
- package/dist/api/async/api.js +1657 -0
- package/dist/api/async/api.js.map +1 -0
- package/dist/api/async/client.d.ts +39 -0
- package/dist/api/async/client.d.ts.map +1 -0
- package/dist/api/async/client.js +211 -0
- package/dist/api/async/client.js.map +1 -0
- package/dist/api/async/types.d.ts +310 -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/compilerOptions.d.ts +109 -0
- package/dist/api/compilerOptions.d.ts.map +1 -0
- package/dist/api/compilerOptions.js +2 -0
- package/dist/api/compilerOptions.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 +287 -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 +213 -0
- package/dist/api/node/msgpack.js.map +1 -0
- package/dist/api/node/node.d.ts +76 -0
- package/dist/api/node/node.d.ts.map +1 -0
- package/dist/api/node/node.generated.d.ts +182 -0
- package/dist/api/node/node.generated.d.ts.map +1 -0
- package/dist/api/node/node.generated.js +835 -0
- package/dist/api/node/node.generated.js.map +1 -0
- package/dist/api/node/node.infrastructure.d.ts +62 -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 +298 -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/node/wtf8.d.ts +6 -0
- package/dist/api/node/wtf8.d.ts.map +1 -0
- package/dist/api/node/wtf8.js +61 -0
- package/dist/api/node/wtf8.js.map +1 -0
- package/dist/api/options.d.ts +32 -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 +239 -0
- package/dist/api/proto.d.ts.map +1 -0
- package/dist/api/proto.js +37 -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 +529 -0
- package/dist/api/sync/api.d.ts.map +1 -0
- package/dist/api/sync/api.js +1665 -0
- package/dist/api/sync/api.js.map +1 -0
- package/dist/api/sync/client.d.ts +30 -0
- package/dist/api/sync/client.d.ts.map +1 -0
- package/dist/api/sync/client.js +124 -0
- package/dist/api/sync/client.js.map +1 -0
- package/dist/api/sync/types.d.ts +310 -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 +114 -0
- package/dist/api/syncChannel.d.ts.map +1 -0
- package/dist/api/syncChannel.js +508 -0
- package/dist/api/syncChannel.js.map +1 -0
- package/dist/api/timing.d.ts +175 -0
- package/dist/api/timing.d.ts.map +1 -0
- package/dist/api/timing.js +149 -0
- package/dist/api/timing.js.map +1 -0
- package/dist/ast/ast.d.ts +100 -0
- package/dist/ast/ast.d.ts.map +1 -0
- package/dist/ast/ast.generated.d.ts +1161 -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 +520 -0
- package/dist/ast/factory.generated.d.ts.map +1 -0
- package/dist/ast/factory.generated.js +3057 -0
- package/dist/ast/factory.generated.js.map +1 -0
- package/dist/ast/index.d.ts +20 -0
- package/dist/ast/index.d.ts.map +1 -0
- package/dist/ast/index.js +20 -0
- package/dist/ast/index.js.map +1 -0
- package/dist/ast/is.d.ts +35 -0
- package/dist/ast/is.d.ts.map +1 -0
- package/dist/ast/is.generated.d.ts +329 -0
- package/dist/ast/is.generated.d.ts.map +1 -0
- package/dist/ast/is.generated.js +1103 -0
- package/dist/ast/is.generated.js.map +1 -0
- package/dist/ast/is.js +233 -0
- package/dist/ast/is.js.map +1 -0
- package/dist/ast/jsdoc.d.ts +11 -0
- package/dist/ast/jsdoc.d.ts.map +1 -0
- package/dist/ast/jsdoc.js +202 -0
- package/dist/ast/jsdoc.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 +17 -0
- package/dist/ast/utils.d.ts.map +1 -0
- package/dist/ast/utils.js +67 -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/completionItemKind.d.ts +2 -0
- package/dist/enums/completionItemKind.d.ts.map +1 -0
- package/dist/enums/completionItemKind.enum.d.ts +28 -0
- package/dist/enums/completionItemKind.enum.d.ts.map +1 -0
- package/dist/enums/completionItemKind.enum.js +30 -0
- package/dist/enums/completionItemKind.enum.js.map +1 -0
- package/dist/enums/completionItemKind.js +30 -0
- package/dist/enums/completionItemKind.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/internalSymbolName.d.ts +2 -0
- package/dist/enums/internalSymbolName.d.ts.map +1 -0
- package/dist/enums/internalSymbolName.enum.d.ts +23 -0
- package/dist/enums/internalSymbolName.enum.d.ts.map +1 -0
- package/dist/enums/internalSymbolName.enum.js +25 -0
- package/dist/enums/internalSymbolName.enum.js.map +1 -0
- package/dist/enums/internalSymbolName.js +25 -0
- package/dist/enums/internalSymbolName.js.map +1 -0
- package/dist/enums/jsxEmit.d.ts +2 -0
- package/dist/enums/jsxEmit.d.ts.map +1 -0
- package/dist/enums/jsxEmit.enum.d.ts +9 -0
- package/dist/enums/jsxEmit.enum.d.ts.map +1 -0
- package/dist/enums/jsxEmit.enum.js +11 -0
- package/dist/enums/jsxEmit.enum.js.map +1 -0
- package/dist/enums/jsxEmit.js +11 -0
- package/dist/enums/jsxEmit.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/moduleDetectionKind.d.ts +2 -0
- package/dist/enums/moduleDetectionKind.d.ts.map +1 -0
- package/dist/enums/moduleDetectionKind.enum.d.ts +7 -0
- package/dist/enums/moduleDetectionKind.enum.d.ts.map +1 -0
- package/dist/enums/moduleDetectionKind.enum.js +9 -0
- package/dist/enums/moduleDetectionKind.enum.js.map +1 -0
- package/dist/enums/moduleDetectionKind.js +9 -0
- package/dist/enums/moduleDetectionKind.js.map +1 -0
- package/dist/enums/moduleKind.d.ts +2 -0
- package/dist/enums/moduleKind.d.ts.map +1 -0
- package/dist/enums/moduleKind.enum.d.ts +17 -0
- package/dist/enums/moduleKind.enum.d.ts.map +1 -0
- package/dist/enums/moduleKind.enum.js +19 -0
- package/dist/enums/moduleKind.enum.js.map +1 -0
- package/dist/enums/moduleKind.js +19 -0
- package/dist/enums/moduleKind.js.map +1 -0
- package/dist/enums/moduleResolutionKind.d.ts +2 -0
- package/dist/enums/moduleResolutionKind.d.ts.map +1 -0
- package/dist/enums/moduleResolutionKind.enum.d.ts +9 -0
- package/dist/enums/moduleResolutionKind.enum.d.ts.map +1 -0
- package/dist/enums/moduleResolutionKind.enum.js +11 -0
- package/dist/enums/moduleResolutionKind.enum.js.map +1 -0
- package/dist/enums/moduleResolutionKind.js +11 -0
- package/dist/enums/moduleResolutionKind.js.map +1 -0
- package/dist/enums/newLineKind.d.ts +2 -0
- package/dist/enums/newLineKind.d.ts.map +1 -0
- package/dist/enums/newLineKind.enum.d.ts +6 -0
- package/dist/enums/newLineKind.enum.d.ts.map +1 -0
- package/dist/enums/newLineKind.enum.js +8 -0
- package/dist/enums/newLineKind.enum.js.map +1 -0
- package/dist/enums/newLineKind.js +8 -0
- package/dist/enums/newLineKind.js.map +1 -0
- package/dist/enums/nodeBuilderFlags.d.ts +2 -0
- package/dist/enums/nodeBuilderFlags.d.ts.map +1 -0
- package/dist/enums/nodeBuilderFlags.enum.d.ts +36 -0
- package/dist/enums/nodeBuilderFlags.enum.d.ts.map +1 -0
- package/dist/enums/nodeBuilderFlags.enum.js +38 -0
- package/dist/enums/nodeBuilderFlags.enum.js.map +1 -0
- package/dist/enums/nodeBuilderFlags.js +38 -0
- package/dist/enums/nodeBuilderFlags.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 +44 -0
- package/dist/enums/nodeFlags.enum.d.ts.map +1 -0
- package/dist/enums/nodeFlags.enum.js +46 -0
- package/dist/enums/nodeFlags.enum.js.map +1 -0
- package/dist/enums/nodeFlags.js +46 -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 +16 -0
- package/dist/enums/outerExpressionKinds.enum.d.ts.map +1 -0
- package/dist/enums/outerExpressionKinds.enum.js +18 -0
- package/dist/enums/outerExpressionKinds.enum.js.map +1 -0
- package/dist/enums/outerExpressionKinds.js +18 -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/dist/internal/utils.d.ts +23 -0
- package/dist/internal/utils.d.ts.map +1 -0
- package/dist/internal/utils.js +25 -0
- package/dist/internal/utils.js.map +1 -0
- package/lib/getExePath.d.ts +2 -0
- package/lib/getExePath.js +70 -0
- package/lib/tsc.js +28 -8
- package/lib/version.cjs +3 -0
- package/lib/version.d.cts +2 -0
- package/package.json +58 -89
- package/vendor/vscode-jsonrpc/License.txt +11 -0
- package/vendor/vscode-jsonrpc/README.md +54 -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 +210 -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 +1271 -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 +135 -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
- package/SECURITY.md +0 -39
- package/bin/tsserver +0 -2
- package/lib/_tsc.js +0 -134465
- package/lib/_tsserver.js +0 -659
- package/lib/_typingsInstaller.js +0 -222
- package/lib/cs/diagnosticMessages.generated.json +0 -2129
- package/lib/de/diagnosticMessages.generated.json +0 -2125
- package/lib/es/diagnosticMessages.generated.json +0 -2129
- package/lib/fr/diagnosticMessages.generated.json +0 -2129
- package/lib/it/diagnosticMessages.generated.json +0 -2125
- package/lib/ja/diagnosticMessages.generated.json +0 -2129
- package/lib/ko/diagnosticMessages.generated.json +0 -2129
- package/lib/lib.d.ts +0 -20
- package/lib/lib.decorators.d.ts +0 -382
- package/lib/lib.decorators.legacy.d.ts +0 -20
- package/lib/lib.dom.asynciterable.d.ts +0 -18
- package/lib/lib.dom.d.ts +0 -45125
- package/lib/lib.dom.iterable.d.ts +0 -18
- package/lib/lib.es2015.collection.d.ts +0 -150
- package/lib/lib.es2015.core.d.ts +0 -595
- package/lib/lib.es2015.d.ts +0 -26
- package/lib/lib.es2015.generator.d.ts +0 -75
- package/lib/lib.es2015.iterable.d.ts +0 -603
- package/lib/lib.es2015.promise.d.ts +0 -79
- package/lib/lib.es2015.proxy.d.ts +0 -126
- package/lib/lib.es2015.reflect.d.ts +0 -142
- package/lib/lib.es2015.symbol.d.ts +0 -44
- package/lib/lib.es2015.symbol.wellknown.d.ts +0 -324
- package/lib/lib.es2016.array.include.d.ts +0 -114
- package/lib/lib.es2016.d.ts +0 -19
- package/lib/lib.es2016.full.d.ts +0 -21
- package/lib/lib.es2016.intl.d.ts +0 -29
- package/lib/lib.es2017.arraybuffer.d.ts +0 -19
- package/lib/lib.es2017.d.ts +0 -24
- package/lib/lib.es2017.date.d.ts +0 -29
- package/lib/lib.es2017.full.d.ts +0 -21
- package/lib/lib.es2017.intl.d.ts +0 -42
- package/lib/lib.es2017.object.d.ts +0 -47
- package/lib/lib.es2017.sharedmemory.d.ts +0 -133
- package/lib/lib.es2017.string.d.ts +0 -43
- package/lib/lib.es2017.typedarrays.d.ts +0 -51
- package/lib/lib.es2018.asyncgenerator.d.ts +0 -75
- package/lib/lib.es2018.asynciterable.d.ts +0 -51
- package/lib/lib.es2018.d.ts +0 -22
- package/lib/lib.es2018.full.d.ts +0 -22
- package/lib/lib.es2018.intl.d.ts +0 -81
- package/lib/lib.es2018.promise.d.ts +0 -28
- package/lib/lib.es2018.regexp.d.ts +0 -35
- package/lib/lib.es2019.array.d.ts +0 -77
- package/lib/lib.es2019.d.ts +0 -22
- package/lib/lib.es2019.full.d.ts +0 -22
- package/lib/lib.es2019.intl.d.ts +0 -21
- package/lib/lib.es2019.object.d.ts +0 -31
- package/lib/lib.es2019.string.d.ts +0 -35
- package/lib/lib.es2019.symbol.d.ts +0 -22
- package/lib/lib.es2020.bigint.d.ts +0 -763
- package/lib/lib.es2020.d.ts +0 -25
- package/lib/lib.es2020.date.d.ts +0 -40
- package/lib/lib.es2020.full.d.ts +0 -22
- package/lib/lib.es2020.intl.d.ts +0 -472
- package/lib/lib.es2020.number.d.ts +0 -26
- package/lib/lib.es2020.promise.d.ts +0 -45
- package/lib/lib.es2020.sharedmemory.d.ts +0 -97
- package/lib/lib.es2020.string.d.ts +0 -42
- package/lib/lib.es2020.symbol.wellknown.d.ts +0 -39
- package/lib/lib.es2021.d.ts +0 -21
- package/lib/lib.es2021.full.d.ts +0 -22
- package/lib/lib.es2021.intl.d.ts +0 -164
- package/lib/lib.es2021.promise.d.ts +0 -46
- package/lib/lib.es2021.string.d.ts +0 -31
- package/lib/lib.es2021.weakref.d.ts +0 -76
- package/lib/lib.es2022.array.d.ts +0 -119
- package/lib/lib.es2022.d.ts +0 -23
- package/lib/lib.es2022.error.d.ts +0 -73
- package/lib/lib.es2022.full.d.ts +0 -22
- package/lib/lib.es2022.intl.d.ts +0 -143
- package/lib/lib.es2022.object.d.ts +0 -24
- package/lib/lib.es2022.regexp.d.ts +0 -37
- package/lib/lib.es2022.string.d.ts +0 -23
- package/lib/lib.es2023.array.d.ts +0 -922
- package/lib/lib.es2023.collection.d.ts +0 -19
- package/lib/lib.es2023.d.ts +0 -20
- package/lib/lib.es2023.full.d.ts +0 -22
- package/lib/lib.es2023.intl.d.ts +0 -62
- package/lib/lib.es2024.arraybuffer.d.ts +0 -63
- package/lib/lib.es2024.collection.d.ts +0 -27
- package/lib/lib.es2024.d.ts +0 -24
- package/lib/lib.es2024.full.d.ts +0 -22
- package/lib/lib.es2024.object.d.ts +0 -27
- package/lib/lib.es2024.promise.d.ts +0 -33
- package/lib/lib.es2024.regexp.d.ts +0 -23
- package/lib/lib.es2024.sharedmemory.d.ts +0 -66
- package/lib/lib.es2024.string.d.ts +0 -27
- package/lib/lib.es2025.collection.d.ts +0 -94
- package/lib/lib.es2025.d.ts +0 -23
- package/lib/lib.es2025.float16.d.ts +0 -443
- package/lib/lib.es2025.full.d.ts +0 -22
- package/lib/lib.es2025.intl.d.ts +0 -200
- package/lib/lib.es2025.iterator.d.ts +0 -146
- package/lib/lib.es2025.promise.d.ts +0 -32
- package/lib/lib.es2025.regexp.d.ts +0 -30
- package/lib/lib.es5.d.ts +0 -4599
- package/lib/lib.es6.d.ts +0 -21
- package/lib/lib.esnext.array.d.ts +0 -33
- package/lib/lib.esnext.collection.d.ts +0 -47
- package/lib/lib.esnext.d.ts +0 -27
- package/lib/lib.esnext.date.d.ts +0 -21
- package/lib/lib.esnext.decorators.d.ts +0 -26
- package/lib/lib.esnext.disposable.d.ts +0 -191
- package/lib/lib.esnext.error.d.ts +0 -22
- package/lib/lib.esnext.full.d.ts +0 -22
- package/lib/lib.esnext.intl.d.ts +0 -107
- package/lib/lib.esnext.sharedmemory.d.ts +0 -23
- package/lib/lib.esnext.temporal.d.ts +0 -485
- package/lib/lib.esnext.typedarrays.d.ts +0 -90
- package/lib/lib.scripthost.d.ts +0 -320
- package/lib/lib.webworker.asynciterable.d.ts +0 -18
- package/lib/lib.webworker.d.ts +0 -15606
- package/lib/lib.webworker.importscripts.d.ts +0 -21
- package/lib/lib.webworker.iterable.d.ts +0 -18
- package/lib/pl/diagnosticMessages.generated.json +0 -2129
- package/lib/pt-br/diagnosticMessages.generated.json +0 -2129
- package/lib/ru/diagnosticMessages.generated.json +0 -2125
- package/lib/tr/diagnosticMessages.generated.json +0 -2129
- package/lib/tsserver.js +0 -8
- package/lib/tsserverlibrary.d.ts +0 -17
- package/lib/tsserverlibrary.js +0 -21
- package/lib/typesMap.json +0 -497
- package/lib/typescript.d.ts +0 -11448
- package/lib/typescript.js +0 -201039
- package/lib/typingsInstaller.js +0 -8
- package/lib/watchGuard.js +0 -53
- package/lib/zh-cn/diagnosticMessages.generated.json +0 -2129
- package/lib/zh-tw/diagnosticMessages.generated.json +0 -2125
- /package/{LICENSE.txt → LICENSE} +0 -0
|
@@ -0,0 +1,114 @@
|
|
|
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
|
+
/**
|
|
13
|
+
* SyncRpcChannel – drop-in replacement for the native libsyncrpc class.
|
|
14
|
+
*
|
|
15
|
+
* API surface intentionally matches the original:
|
|
16
|
+
* - constructor(exe, args)
|
|
17
|
+
* - requestSync(method, payload): string
|
|
18
|
+
* - requestBinarySync(method, payload): Uint8Array
|
|
19
|
+
* - registerCallback(name, cb)
|
|
20
|
+
* - close()
|
|
21
|
+
*
|
|
22
|
+
* The protocol is unversioned; both sides (this JS channel and the Go
|
|
23
|
+
* child process) must be built from the same tree.
|
|
24
|
+
*
|
|
25
|
+
* This class is **not** thread-safe. All calls must originate from a
|
|
26
|
+
* single thread — do not share an instance across worker threads.
|
|
27
|
+
*/
|
|
28
|
+
export declare class SyncRpcChannel {
|
|
29
|
+
private child;
|
|
30
|
+
private readFd;
|
|
31
|
+
private writeFd;
|
|
32
|
+
private pipeFd;
|
|
33
|
+
private callbacks;
|
|
34
|
+
private methodBufCache;
|
|
35
|
+
private readonly collectTiming;
|
|
36
|
+
lastBytesSent: number;
|
|
37
|
+
lastBytesReceived: number;
|
|
38
|
+
private _msgType;
|
|
39
|
+
private _msgName;
|
|
40
|
+
private _msgPayload;
|
|
41
|
+
private headerBuf;
|
|
42
|
+
private readBuf;
|
|
43
|
+
private readBufPos;
|
|
44
|
+
private readBufLen;
|
|
45
|
+
private writeBuf;
|
|
46
|
+
constructor(exe: string, args: string[], collectTiming?: boolean);
|
|
47
|
+
/**
|
|
48
|
+
* Send a request and synchronously wait for the response (string).
|
|
49
|
+
* Handles Call (callback) messages from the child inline.
|
|
50
|
+
*/
|
|
51
|
+
requestSync(method: string, payload: string): string;
|
|
52
|
+
/**
|
|
53
|
+
* Send a request and synchronously wait for the response (binary).
|
|
54
|
+
* Handles Call (callback) messages from the child inline.
|
|
55
|
+
*/
|
|
56
|
+
requestBinarySync(method: string, payload: Uint8Array): Uint8Array;
|
|
57
|
+
/** Register a string→string callback that the child may invoke. */
|
|
58
|
+
registerCallback(name: string, callback: (name: string, payload: string) => string): void;
|
|
59
|
+
/** Kill the child process and release resources. */
|
|
60
|
+
close(): void;
|
|
61
|
+
private ensureOpen;
|
|
62
|
+
private getMethodBuf;
|
|
63
|
+
private requestBytesSync;
|
|
64
|
+
/**
|
|
65
|
+
* Handle an incoming MSG_CALL from the child process.
|
|
66
|
+
*
|
|
67
|
+
* After sending the error response back to the child, this method
|
|
68
|
+
* intentionally re-throws to abort the caller's request loop.
|
|
69
|
+
* A failed callback is treated as unrecoverable to match the
|
|
70
|
+
* behavior of the native libsyncrpc addon.
|
|
71
|
+
*/
|
|
72
|
+
private handleCall;
|
|
73
|
+
/**
|
|
74
|
+
* Write a complete [type, name, payload] tuple in as few writeSync
|
|
75
|
+
* calls as possible. For messages that fit in the pre-allocated
|
|
76
|
+
* write buffer (64 KB), everything is assembled and sent in a single
|
|
77
|
+
* syscall. Larger messages use two syscalls: one for the header
|
|
78
|
+
* portion and one for the payload data.
|
|
79
|
+
*/
|
|
80
|
+
private writeTuple;
|
|
81
|
+
/**
|
|
82
|
+
* Read a [type, name, payload] tuple into instance fields
|
|
83
|
+
* (_msgType, _msgName, _msgPayload) to avoid allocating a
|
|
84
|
+
* short-lived 3-element array on every call.
|
|
85
|
+
*/
|
|
86
|
+
private readTuple;
|
|
87
|
+
/**
|
|
88
|
+
* Read a MessagePack bin field.
|
|
89
|
+
*/
|
|
90
|
+
private readBin;
|
|
91
|
+
/** Build an EOF error with the child's exit code/signal if available. */
|
|
92
|
+
private eofError;
|
|
93
|
+
/** Read a single byte from the buffered read-ahead. */
|
|
94
|
+
private readByte;
|
|
95
|
+
private readExact;
|
|
96
|
+
/**
|
|
97
|
+
* Fill the internal read-ahead buffer from the pipe fd.
|
|
98
|
+
* Retries on EAGAIN for non-blocking mode compatibility.
|
|
99
|
+
*/
|
|
100
|
+
private fillReadBuffer;
|
|
101
|
+
/**
|
|
102
|
+
* Synchronously read exactly `length` bytes into `buffer`.
|
|
103
|
+
* Serves from the internal read-ahead buffer first; for large reads
|
|
104
|
+
* that exceed the buffer size, reads directly from the fd to avoid
|
|
105
|
+
* an extra copy.
|
|
106
|
+
*/
|
|
107
|
+
private readExactInto;
|
|
108
|
+
/**
|
|
109
|
+
* Synchronously write all bytes from `data` (up to `length`).
|
|
110
|
+
* Retries on EAGAIN.
|
|
111
|
+
*/
|
|
112
|
+
private writeAllBuf;
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=syncChannel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syncChannel.d.ts","sourceRoot":"","sources":["../../src/api/syncChannel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA8EH;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,SAAS,CAAgE;IAEjF,OAAO,CAAC,cAAc,CAA6B;IAMnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IAKxC,aAAa,SAAK;IAClB,iBAAiB,SAAK;IAEtB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,WAAW,CAAqB;IAExC,OAAO,CAAC,SAAS,CAAyB;IAG1C,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,UAAU,CAAK;IAGvB,OAAO,CAAC,QAAQ,CAA6B;gBAEjC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,aAAa,UAAQ;IAmF9D;;;OAGG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAMpD;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,UAAU;IAKlE,mEAAmE;IACnE,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI;IAIzF,oDAAoD;IACpD,KAAK,IAAI,IAAI;IAsBb,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,gBAAgB;IA8CxB;;;;;;;OAOG;IACH,OAAO,CAAC,UAAU;IAiClB;;;;;;OAMG;IACH,OAAO,CAAC,UAAU;IA0DlB;;;;OAIG;IACH,OAAO,CAAC,SAAS;IA2BjB;;OAEG;IACH,OAAO,CAAC,OAAO;IA0Bf,yEAAyE;IACzE,OAAO,CAAC,QAAQ;IAOhB,uDAAuD;IACvD,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,SAAS;IAiBjB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAsBtB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAoCrB;;;OAGG;IACH,OAAO,CAAC,WAAW;CAiBtB"}
|
|
@@ -0,0 +1,508 @@
|
|
|
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
|
+
// When true, the payload byte lengths of each request/response are recorded
|
|
70
|
+
// and exposed via the `last*` fields below. These count only the JSON/binary
|
|
71
|
+
// payload bytes, not the MessagePack tuple framing (message type, method
|
|
72
|
+
// name, and length headers).
|
|
73
|
+
collectTiming;
|
|
74
|
+
// Per-request payload byte measurements for the most recently completed
|
|
75
|
+
// request. Only meaningful when `collectTiming` is true. Callers read these
|
|
76
|
+
// immediately after a request returns (the channel is strictly serial).
|
|
77
|
+
lastBytesSent = 0;
|
|
78
|
+
lastBytesReceived = 0;
|
|
79
|
+
_msgType = 0;
|
|
80
|
+
_msgName = EMPTY_BUF;
|
|
81
|
+
_msgPayload = EMPTY_BUF;
|
|
82
|
+
headerBuf = Buffer.allocUnsafe(4);
|
|
83
|
+
// Read-ahead buffer – reduces readSync syscalls by buffering data from the pipe.
|
|
84
|
+
readBuf = Buffer.allocUnsafe(65536);
|
|
85
|
+
readBufPos = 0;
|
|
86
|
+
readBufLen = 0;
|
|
87
|
+
// Write buffer – assembles entire tuples for a single writeSync.
|
|
88
|
+
writeBuf = Buffer.allocUnsafe(65536);
|
|
89
|
+
constructor(exe, args, collectTiming = false) {
|
|
90
|
+
this.collectTiming = collectTiming;
|
|
91
|
+
const isWindows = process.platform === "win32";
|
|
92
|
+
if (isWindows) {
|
|
93
|
+
// On Windows, libuv pipe handles don't expose POSIX fds, so
|
|
94
|
+
// readSync/writeSync can't be used on stdio pipes. Instead,
|
|
95
|
+
// we create a Windows named pipe path, pass it to the child
|
|
96
|
+
// via --pipe, and open it with fs.openSync which returns a
|
|
97
|
+
// real C-runtime fd backed by a proper HANDLE.
|
|
98
|
+
const pipePath = `\\\\.\\pipe\\tsgo-sync-${process.pid}-${Date.now()}`;
|
|
99
|
+
this.child = spawn(exe, [...args, "--pipe", pipePath], {
|
|
100
|
+
stdio: ["ignore", "ignore", "inherit"],
|
|
101
|
+
});
|
|
102
|
+
// Retry openSync until the child creates the named pipe.
|
|
103
|
+
let fd;
|
|
104
|
+
for (let i = 0; i < 500; i++) {
|
|
105
|
+
try {
|
|
106
|
+
fd = openSync(pipePath, "r+");
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
if (this.child.exitCode !== null) {
|
|
111
|
+
throw new Error(`Child process exited with code ${this.child.exitCode} before pipe was ready`);
|
|
112
|
+
}
|
|
113
|
+
Atomics.wait(sleepBuf, 0, 0, 10);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
if (fd === undefined) {
|
|
117
|
+
this.child.kill();
|
|
118
|
+
throw new Error("SyncRpcChannel: timed out connecting to named pipe");
|
|
119
|
+
}
|
|
120
|
+
this.readFd = fd;
|
|
121
|
+
this.writeFd = fd;
|
|
122
|
+
this.pipeFd = fd;
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
// POSIX: use stdio pipe file descriptors directly.
|
|
126
|
+
this.child = spawn(exe, args, {
|
|
127
|
+
stdio: ["pipe", "pipe", "inherit"],
|
|
128
|
+
});
|
|
129
|
+
const stdout = this.child.stdout;
|
|
130
|
+
const stdin = this.child.stdin;
|
|
131
|
+
this.readFd = stdout._handle.fd;
|
|
132
|
+
this.writeFd = stdin._handle.fd;
|
|
133
|
+
if (typeof this.readFd !== "number" || this.readFd < 0 || typeof this.writeFd !== "number" || this.writeFd < 0) {
|
|
134
|
+
stdout.destroy();
|
|
135
|
+
stdin.destroy();
|
|
136
|
+
this.child.kill();
|
|
137
|
+
throw new Error("SyncRpcChannel: could not obtain pipe file descriptors.");
|
|
138
|
+
}
|
|
139
|
+
// Set the pipe handles to blocking mode. Under node --test's
|
|
140
|
+
// process isolation, pipes are created in non-blocking mode
|
|
141
|
+
// (for the IPC channel). This causes readSync/writeSync to get
|
|
142
|
+
// EAGAIN, requiring costly 1ms sleeps per retry. Setting
|
|
143
|
+
// blocking mode ensures readSync blocks properly until data
|
|
144
|
+
// arrives, matching the behavior of the native libsyncrpc.
|
|
145
|
+
stdout._handle.setBlocking?.(true);
|
|
146
|
+
stdin._handle.setBlocking?.(true);
|
|
147
|
+
// Prevent Node's event-loop from reading stdout or keeping the
|
|
148
|
+
// process alive – we will use fs.readSync exclusively.
|
|
149
|
+
stdout.pause();
|
|
150
|
+
stdout.unref();
|
|
151
|
+
stdin.unref();
|
|
152
|
+
}
|
|
153
|
+
// Track for auto-cleanup on process exit.
|
|
154
|
+
liveChildren.add(this.child);
|
|
155
|
+
this.child.unref();
|
|
156
|
+
}
|
|
157
|
+
// ── Public API ──────────────────────────────────────────────────
|
|
158
|
+
/**
|
|
159
|
+
* Send a request and synchronously wait for the response (string).
|
|
160
|
+
* Handles Call (callback) messages from the child inline.
|
|
161
|
+
*/
|
|
162
|
+
requestSync(method, payload) {
|
|
163
|
+
this.ensureOpen();
|
|
164
|
+
const result = this.requestBytesSync(method, payload);
|
|
165
|
+
return result.toString("utf-8");
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Send a request and synchronously wait for the response (binary).
|
|
169
|
+
* Handles Call (callback) messages from the child inline.
|
|
170
|
+
*/
|
|
171
|
+
requestBinarySync(method, payload) {
|
|
172
|
+
this.ensureOpen();
|
|
173
|
+
return this.requestBytesSync(method, payload);
|
|
174
|
+
}
|
|
175
|
+
/** Register a string→string callback that the child may invoke. */
|
|
176
|
+
registerCallback(name, callback) {
|
|
177
|
+
this.callbacks.set(name, callback);
|
|
178
|
+
}
|
|
179
|
+
/** Kill the child process and release resources. */
|
|
180
|
+
close() {
|
|
181
|
+
try {
|
|
182
|
+
liveChildren.delete(this.child);
|
|
183
|
+
if (this.pipeFd !== undefined) {
|
|
184
|
+
closeSync(this.pipeFd);
|
|
185
|
+
this.pipeFd = undefined;
|
|
186
|
+
}
|
|
187
|
+
// Destroy the stdio streams so that their pipe handles are closed
|
|
188
|
+
// and no longer prevent the event loop from draining.
|
|
189
|
+
this.child.stdout?.destroy();
|
|
190
|
+
this.child.stdin?.destroy();
|
|
191
|
+
this.child.kill();
|
|
192
|
+
this.readFd = -1;
|
|
193
|
+
this.writeFd = -1;
|
|
194
|
+
}
|
|
195
|
+
catch {
|
|
196
|
+
// swallow – process may already be dead
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
// ── Core request loop ───────────────────────────────────────────
|
|
200
|
+
ensureOpen() {
|
|
201
|
+
if (this.readFd < 0) {
|
|
202
|
+
throw new Error("SyncRpcChannel is closed");
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
getMethodBuf(method) {
|
|
206
|
+
let buf = this.methodBufCache.get(method);
|
|
207
|
+
if (buf === undefined) {
|
|
208
|
+
buf = Buffer.from(method, "utf-8");
|
|
209
|
+
this.methodBufCache.set(method, buf);
|
|
210
|
+
}
|
|
211
|
+
return buf;
|
|
212
|
+
}
|
|
213
|
+
requestBytesSync(method, payload) {
|
|
214
|
+
const methodBuf = this.getMethodBuf(method);
|
|
215
|
+
if (this.collectTiming) {
|
|
216
|
+
this.lastBytesSent = typeof payload === "string"
|
|
217
|
+
? Buffer.byteLength(payload, "utf-8")
|
|
218
|
+
: payload.length;
|
|
219
|
+
this.lastBytesReceived = 0;
|
|
220
|
+
}
|
|
221
|
+
this.writeTuple(MSG_REQUEST, methodBuf, payload);
|
|
222
|
+
for (;;) {
|
|
223
|
+
this.readTuple();
|
|
224
|
+
switch (this._msgType) {
|
|
225
|
+
case MSG_RESPONSE: {
|
|
226
|
+
// Compare raw bytes instead of decoding to string.
|
|
227
|
+
if (!methodBuf.equals(this._msgName)) {
|
|
228
|
+
throw new Error(`name mismatch for response: expected \`${method}\`, got \`${this._msgName.toString("utf-8")}\``);
|
|
229
|
+
}
|
|
230
|
+
if (this.collectTiming) {
|
|
231
|
+
this.lastBytesReceived = this._msgPayload.length;
|
|
232
|
+
}
|
|
233
|
+
return this._msgPayload;
|
|
234
|
+
}
|
|
235
|
+
case MSG_ERROR: {
|
|
236
|
+
if (methodBuf.equals(this._msgName)) {
|
|
237
|
+
throw new Error(this._msgPayload.toString("utf-8"));
|
|
238
|
+
}
|
|
239
|
+
throw new Error(`name mismatch for response: expected \`${method}\`, got \`${this._msgName.toString("utf-8")}\``);
|
|
240
|
+
}
|
|
241
|
+
case MSG_CALL: {
|
|
242
|
+
this.handleCall(this._msgName.toString("utf-8"), this._msgPayload);
|
|
243
|
+
break;
|
|
244
|
+
}
|
|
245
|
+
default:
|
|
246
|
+
throw new Error(`Invalid message type from child: ${this._msgType}`);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
// ── Callback handling ───────────────────────────────────────────
|
|
251
|
+
/**
|
|
252
|
+
* Handle an incoming MSG_CALL from the child process.
|
|
253
|
+
*
|
|
254
|
+
* After sending the error response back to the child, this method
|
|
255
|
+
* intentionally re-throws to abort the caller's request loop.
|
|
256
|
+
* A failed callback is treated as unrecoverable to match the
|
|
257
|
+
* behavior of the native libsyncrpc addon.
|
|
258
|
+
*/
|
|
259
|
+
handleCall(name, payload) {
|
|
260
|
+
const cb = this.callbacks.get(name);
|
|
261
|
+
if (!cb) {
|
|
262
|
+
const errMsg = `unknown callback: \`${name}\`. Please make sure to register it on the JavaScript side before invoking it.`;
|
|
263
|
+
this.writeTuple(MSG_CALL_ERROR, Buffer.from(name, "utf-8"), Buffer.from(errMsg, "utf-8"));
|
|
264
|
+
throw new Error(`no callback named \`${name}\` found`);
|
|
265
|
+
}
|
|
266
|
+
try {
|
|
267
|
+
const result = cb(name, payload.toString("utf-8"));
|
|
268
|
+
this.writeTuple(MSG_CALL_RESPONSE, Buffer.from(name, "utf-8"), Buffer.from(result, "utf-8"));
|
|
269
|
+
}
|
|
270
|
+
catch (e) {
|
|
271
|
+
const errMsg = String(e instanceof Error ? e.message : e).trim();
|
|
272
|
+
this.writeTuple(MSG_CALL_ERROR, Buffer.from(name, "utf-8"), Buffer.from(errMsg, "utf-8"));
|
|
273
|
+
throw new Error(`Error calling callback \`${name}\`: ${errMsg}`);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
// ── MessagePack tuple write ─────────────────────────────────────
|
|
277
|
+
/**
|
|
278
|
+
* Write a complete [type, name, payload] tuple in as few writeSync
|
|
279
|
+
* calls as possible. For messages that fit in the pre-allocated
|
|
280
|
+
* write buffer (64 KB), everything is assembled and sent in a single
|
|
281
|
+
* syscall. Larger messages use two syscalls: one for the header
|
|
282
|
+
* portion and one for the payload data.
|
|
283
|
+
*/
|
|
284
|
+
writeTuple(type, name, payload) {
|
|
285
|
+
const nameLen = name.length;
|
|
286
|
+
const payloadIsString = typeof payload === "string";
|
|
287
|
+
const payloadLen = payloadIsString ? Buffer.byteLength(payload, "utf-8") : payload.length;
|
|
288
|
+
const nameHdrSize = binHeaderSize(nameLen);
|
|
289
|
+
const payloadHdrSize = binHeaderSize(payloadLen);
|
|
290
|
+
const headerSize = 2 + nameHdrSize + nameLen + payloadHdrSize;
|
|
291
|
+
const totalSize = headerSize + payloadLen;
|
|
292
|
+
if (totalSize <= this.writeBuf.length) {
|
|
293
|
+
// Small message: assemble into write buffer, one syscall
|
|
294
|
+
let off = 0;
|
|
295
|
+
this.writeBuf[off++] = MSGPACK_FIXARRAY3;
|
|
296
|
+
this.writeBuf[off++] = type;
|
|
297
|
+
off = writeBinHeader(this.writeBuf, off, nameLen);
|
|
298
|
+
name.copy(this.writeBuf, off);
|
|
299
|
+
off += nameLen;
|
|
300
|
+
off = writeBinHeader(this.writeBuf, off, payloadLen);
|
|
301
|
+
if (payloadLen > 0) {
|
|
302
|
+
if (payloadIsString) {
|
|
303
|
+
// Encode string directly into write buffer — avoids
|
|
304
|
+
// Buffer.from(string, 'utf-8') allocation entirely.
|
|
305
|
+
this.writeBuf.write(payload, off, payloadLen, "utf-8");
|
|
306
|
+
}
|
|
307
|
+
else if (payload instanceof Buffer) {
|
|
308
|
+
payload.copy(this.writeBuf, off);
|
|
309
|
+
}
|
|
310
|
+
else {
|
|
311
|
+
this.writeBuf.set(payload, off);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
this.writeAllBuf(this.writeBuf, totalSize);
|
|
315
|
+
}
|
|
316
|
+
else {
|
|
317
|
+
// Large message: header + name in one call, payload in another
|
|
318
|
+
let off = 0;
|
|
319
|
+
this.writeBuf[off++] = MSGPACK_FIXARRAY3;
|
|
320
|
+
this.writeBuf[off++] = type;
|
|
321
|
+
off = writeBinHeader(this.writeBuf, off, nameLen);
|
|
322
|
+
name.copy(this.writeBuf, off);
|
|
323
|
+
off += nameLen;
|
|
324
|
+
off = writeBinHeader(this.writeBuf, off, payloadLen);
|
|
325
|
+
this.writeAllBuf(this.writeBuf, off);
|
|
326
|
+
if (payloadLen > 0) {
|
|
327
|
+
if (payloadIsString) {
|
|
328
|
+
// Large string: must allocate (can't stream-encode
|
|
329
|
+
// across multiple writeSync calls).
|
|
330
|
+
this.writeAllBuf(Buffer.from(payload, "utf-8"));
|
|
331
|
+
}
|
|
332
|
+
else {
|
|
333
|
+
this.writeAllBuf(payload);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
// ── MessagePack tuple read ──────────────────────────────────────
|
|
339
|
+
/**
|
|
340
|
+
* Read a [type, name, payload] tuple into instance fields
|
|
341
|
+
* (_msgType, _msgName, _msgPayload) to avoid allocating a
|
|
342
|
+
* short-lived 3-element array on every call.
|
|
343
|
+
*/
|
|
344
|
+
readTuple() {
|
|
345
|
+
// Fixed 3-element array marker
|
|
346
|
+
const marker = this.readByte();
|
|
347
|
+
if (marker !== MSGPACK_FIXARRAY3) {
|
|
348
|
+
throw new Error(`Expected fixed 3-element array (0x93), received: 0x${marker.toString(16)}`);
|
|
349
|
+
}
|
|
350
|
+
// Message type – positive fixint or uint8
|
|
351
|
+
const tb = this.readByte();
|
|
352
|
+
if (tb <= 0x7f) {
|
|
353
|
+
this._msgType = tb;
|
|
354
|
+
}
|
|
355
|
+
else if (tb === MSGPACK_UINT8) {
|
|
356
|
+
this._msgType = this.readByte();
|
|
357
|
+
}
|
|
358
|
+
else {
|
|
359
|
+
throw new Error(`Expected positive fixint or uint8 marker, received: 0x${tb.toString(16)}`);
|
|
360
|
+
}
|
|
361
|
+
this._msgName = this.readBin();
|
|
362
|
+
this._msgPayload = this.readBin();
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* Read a MessagePack bin field.
|
|
366
|
+
*/
|
|
367
|
+
readBin() {
|
|
368
|
+
const marker = this.readByte();
|
|
369
|
+
let size;
|
|
370
|
+
switch (marker) {
|
|
371
|
+
case MSGPACK_BIN8:
|
|
372
|
+
size = this.readByte();
|
|
373
|
+
break;
|
|
374
|
+
case MSGPACK_BIN16:
|
|
375
|
+
this.readExactInto(this.headerBuf, 2);
|
|
376
|
+
size = (this.headerBuf[0] << 8) | this.headerBuf[1];
|
|
377
|
+
break;
|
|
378
|
+
case MSGPACK_BIN32:
|
|
379
|
+
this.readExactInto(this.headerBuf, 4);
|
|
380
|
+
size = this.headerBuf.readUInt32BE(0);
|
|
381
|
+
break;
|
|
382
|
+
default:
|
|
383
|
+
throw new Error(`Expected binary data (0xc4-0xc6), received: 0x${marker.toString(16)}`);
|
|
384
|
+
}
|
|
385
|
+
if (size === 0)
|
|
386
|
+
return EMPTY_BUF;
|
|
387
|
+
return this.readExact(size);
|
|
388
|
+
}
|
|
389
|
+
// ── Low-level synchronous I/O ───────────────────────────────────
|
|
390
|
+
/** Build an EOF error with the child's exit code/signal if available. */
|
|
391
|
+
eofError() {
|
|
392
|
+
const code = this.child.exitCode;
|
|
393
|
+
const signal = this.child.signalCode;
|
|
394
|
+
const detail = signal ? `killed by signal ${signal}` : code !== null ? `exited with code ${code}` : "unknown reason";
|
|
395
|
+
return new Error(`Unexpected EOF while reading from child process (${detail})`);
|
|
396
|
+
}
|
|
397
|
+
/** Read a single byte from the buffered read-ahead. */
|
|
398
|
+
readByte() {
|
|
399
|
+
if (this.readBufPos >= this.readBufLen) {
|
|
400
|
+
this.fillReadBuffer();
|
|
401
|
+
}
|
|
402
|
+
return this.readBuf[this.readBufPos++];
|
|
403
|
+
}
|
|
404
|
+
readExact(length) {
|
|
405
|
+
// Use allocUnsafeSlow (not allocUnsafe) so the buffer has its own
|
|
406
|
+
// backing ArrayBuffer at byteOffset 0. This is critical because
|
|
407
|
+
// callers such as RemoteSourceFile create DataView/Uint8Array over
|
|
408
|
+
// buffer.buffer with absolute offsets. Buffer.allocUnsafe returns
|
|
409
|
+
// slices of a shared pool whose byteOffset is non-zero, corrupting
|
|
410
|
+
// those downstream views.
|
|
411
|
+
//
|
|
412
|
+
// allocUnsafeSlow (vs alloc) skips zero-fill, which matters for
|
|
413
|
+
// large transfers — e.g. checker.ts at ~57 MB saves ~5 ms of
|
|
414
|
+
// unnecessary memset. The buffer is immediately filled by
|
|
415
|
+
// readExactInto so uninitialized memory is never exposed.
|
|
416
|
+
const buf = Buffer.allocUnsafeSlow(length);
|
|
417
|
+
this.readExactInto(buf, length);
|
|
418
|
+
return buf;
|
|
419
|
+
}
|
|
420
|
+
/**
|
|
421
|
+
* Fill the internal read-ahead buffer from the pipe fd.
|
|
422
|
+
* Retries on EAGAIN for non-blocking mode compatibility.
|
|
423
|
+
*/
|
|
424
|
+
fillReadBuffer() {
|
|
425
|
+
this.readBufPos = 0;
|
|
426
|
+
this.readBufLen = 0;
|
|
427
|
+
for (;;) {
|
|
428
|
+
try {
|
|
429
|
+
const n = readSync(this.readFd, this.readBuf, 0, this.readBuf.length, null);
|
|
430
|
+
if (n === 0) {
|
|
431
|
+
throw this.eofError();
|
|
432
|
+
}
|
|
433
|
+
this.readBufLen = n;
|
|
434
|
+
return;
|
|
435
|
+
}
|
|
436
|
+
catch (e) {
|
|
437
|
+
if (e instanceof Error && ("code" in e) && (e.code === "EAGAIN" || e.code === "EWOULDBLOCK")) {
|
|
438
|
+
Atomics.wait(sleepBuf, 0, 0, 1);
|
|
439
|
+
continue;
|
|
440
|
+
}
|
|
441
|
+
throw e;
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
/**
|
|
446
|
+
* Synchronously read exactly `length` bytes into `buffer`.
|
|
447
|
+
* Serves from the internal read-ahead buffer first; for large reads
|
|
448
|
+
* that exceed the buffer size, reads directly from the fd to avoid
|
|
449
|
+
* an extra copy.
|
|
450
|
+
*/
|
|
451
|
+
readExactInto(buffer, length) {
|
|
452
|
+
let pos = 0;
|
|
453
|
+
while (pos < length) {
|
|
454
|
+
const avail = this.readBufLen - this.readBufPos;
|
|
455
|
+
if (avail > 0) {
|
|
456
|
+
// Serve from read-ahead buffer
|
|
457
|
+
const toCopy = Math.min(avail, length - pos);
|
|
458
|
+
this.readBuf.copy(buffer, pos, this.readBufPos, this.readBufPos + toCopy);
|
|
459
|
+
this.readBufPos += toCopy;
|
|
460
|
+
pos += toCopy;
|
|
461
|
+
}
|
|
462
|
+
else if (length - pos >= this.readBuf.length) {
|
|
463
|
+
// Remaining data is larger than read buffer; read directly
|
|
464
|
+
// into the target to avoid unnecessary copying.
|
|
465
|
+
try {
|
|
466
|
+
const n = readSync(this.readFd, buffer, pos, length - pos, null);
|
|
467
|
+
if (n === 0) {
|
|
468
|
+
throw this.eofError();
|
|
469
|
+
}
|
|
470
|
+
pos += n;
|
|
471
|
+
}
|
|
472
|
+
catch (e) {
|
|
473
|
+
if (e instanceof Error && ("code" in e) && (e.code === "EAGAIN" || e.code === "EWOULDBLOCK")) {
|
|
474
|
+
Atomics.wait(sleepBuf, 0, 0, 1);
|
|
475
|
+
continue;
|
|
476
|
+
}
|
|
477
|
+
throw e;
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
else {
|
|
481
|
+
// Refill the read-ahead buffer
|
|
482
|
+
this.fillReadBuffer();
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
/**
|
|
487
|
+
* Synchronously write all bytes from `data` (up to `length`).
|
|
488
|
+
* Retries on EAGAIN.
|
|
489
|
+
*/
|
|
490
|
+
writeAllBuf(data, length) {
|
|
491
|
+
const total = length ?? data.length;
|
|
492
|
+
let pos = 0;
|
|
493
|
+
while (pos < total) {
|
|
494
|
+
try {
|
|
495
|
+
const n = writeSync(this.writeFd, data, pos, total - pos);
|
|
496
|
+
pos += n;
|
|
497
|
+
}
|
|
498
|
+
catch (e) {
|
|
499
|
+
if (e instanceof Error && ("code" in e) && (e.code === "EAGAIN" || e.code === "EWOULDBLOCK")) {
|
|
500
|
+
Atomics.wait(sleepBuf, 0, 0, 1);
|
|
501
|
+
continue;
|
|
502
|
+
}
|
|
503
|
+
throw e;
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
//# 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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"}
|