@typescript/native-preview 7.0.0-dev.20260422.1 → 7.0.0-dev.20260424.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 +49 -0
- package/dist/enums/objectFlags.enum.d.ts.map +1 -0
- package/dist/enums/objectFlags.enum.js +51 -0
- package/dist/enums/objectFlags.enum.js.map +1 -0
- package/dist/enums/objectFlags.js +51 -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,436 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* --------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
5
|
+
* ------------------------------------------------------------------------------------------ */
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
23
|
+
var ownKeys = function(o) {
|
|
24
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
25
|
+
var ar = [];
|
|
26
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
29
|
+
return ownKeys(o);
|
|
30
|
+
};
|
|
31
|
+
return function (mod) {
|
|
32
|
+
if (mod && mod.__esModule) return mod;
|
|
33
|
+
var result = {};
|
|
34
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
35
|
+
__setModuleDefault(result, mod);
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
})();
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports.Message = exports.NotificationType9 = exports.NotificationType8 = exports.NotificationType7 = exports.NotificationType6 = exports.NotificationType5 = exports.NotificationType4 = exports.NotificationType3 = exports.NotificationType2 = exports.NotificationType1 = exports.NotificationType0 = exports.NotificationType = exports.RequestType9 = exports.RequestType8 = exports.RequestType7 = exports.RequestType6 = exports.RequestType5 = exports.RequestType4 = exports.RequestType3 = exports.RequestType2 = exports.RequestType1 = exports.RequestType = exports.RequestType0 = exports.AbstractMessageSignature = exports.ParameterStructures = exports.ResponseError = exports.ErrorCodes = void 0;
|
|
41
|
+
const is = __importStar(require("./is"));
|
|
42
|
+
/**
|
|
43
|
+
* Predefined error codes.
|
|
44
|
+
*/
|
|
45
|
+
var ErrorCodes;
|
|
46
|
+
(function (ErrorCodes) {
|
|
47
|
+
// Defined by JSON RPC
|
|
48
|
+
ErrorCodes.ParseError = -32700;
|
|
49
|
+
ErrorCodes.InvalidRequest = -32600;
|
|
50
|
+
ErrorCodes.MethodNotFound = -32601;
|
|
51
|
+
ErrorCodes.InvalidParams = -32602;
|
|
52
|
+
ErrorCodes.InternalError = -32603;
|
|
53
|
+
/**
|
|
54
|
+
* This is the start range of JSON RPC reserved error codes.
|
|
55
|
+
* It doesn't denote a real error code. No application error codes should
|
|
56
|
+
* be defined between the start and end range. For backwards
|
|
57
|
+
* compatibility the `ServerNotInitialized` and the `UnknownErrorCode`
|
|
58
|
+
* are left in the range.
|
|
59
|
+
*
|
|
60
|
+
* @since 3.16.0
|
|
61
|
+
*/
|
|
62
|
+
ErrorCodes.jsonrpcReservedErrorRangeStart = -32099;
|
|
63
|
+
/** @deprecated use jsonrpcReservedErrorRangeStart */
|
|
64
|
+
ErrorCodes.serverErrorStart = -32099;
|
|
65
|
+
/**
|
|
66
|
+
* An error occurred when write a message to the transport layer.
|
|
67
|
+
*/
|
|
68
|
+
ErrorCodes.MessageWriteError = -32099;
|
|
69
|
+
/**
|
|
70
|
+
* An error occurred when reading a message from the transport layer.
|
|
71
|
+
*/
|
|
72
|
+
ErrorCodes.MessageReadError = -32098;
|
|
73
|
+
/**
|
|
74
|
+
* The connection got disposed or lost and all pending responses got
|
|
75
|
+
* rejected.
|
|
76
|
+
*/
|
|
77
|
+
ErrorCodes.PendingResponseRejected = -32097;
|
|
78
|
+
/**
|
|
79
|
+
* The connection is inactive and a use of it failed.
|
|
80
|
+
*/
|
|
81
|
+
ErrorCodes.ConnectionInactive = -32096;
|
|
82
|
+
/**
|
|
83
|
+
* Error code indicating that a server received a notification or
|
|
84
|
+
* request before the server has received the `initialize` request.
|
|
85
|
+
*/
|
|
86
|
+
ErrorCodes.ServerNotInitialized = -32002;
|
|
87
|
+
ErrorCodes.UnknownErrorCode = -32001;
|
|
88
|
+
/**
|
|
89
|
+
* This is the end range of JSON RPC reserved error codes.
|
|
90
|
+
* It doesn't denote a real error code.
|
|
91
|
+
*
|
|
92
|
+
* @since 3.16.0
|
|
93
|
+
*/
|
|
94
|
+
ErrorCodes.jsonrpcReservedErrorRangeEnd = -32000;
|
|
95
|
+
/** @deprecated use jsonrpcReservedErrorRangeEnd */
|
|
96
|
+
ErrorCodes.serverErrorEnd = -32000;
|
|
97
|
+
})(ErrorCodes || (exports.ErrorCodes = ErrorCodes = {}));
|
|
98
|
+
/**
|
|
99
|
+
* An error object return in a response in case a request
|
|
100
|
+
* has failed.
|
|
101
|
+
*/
|
|
102
|
+
class ResponseError extends Error {
|
|
103
|
+
code;
|
|
104
|
+
data;
|
|
105
|
+
constructor(code, message, data) {
|
|
106
|
+
super(message);
|
|
107
|
+
this.code = is.number(code) ? code : ErrorCodes.UnknownErrorCode;
|
|
108
|
+
this.data = data;
|
|
109
|
+
Object.setPrototypeOf(this, ResponseError.prototype);
|
|
110
|
+
}
|
|
111
|
+
toJson() {
|
|
112
|
+
const result = {
|
|
113
|
+
code: this.code,
|
|
114
|
+
message: this.message
|
|
115
|
+
};
|
|
116
|
+
if (this.data !== undefined) {
|
|
117
|
+
result.data = this.data;
|
|
118
|
+
}
|
|
119
|
+
return result;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
exports.ResponseError = ResponseError;
|
|
123
|
+
class ParameterStructures {
|
|
124
|
+
kind;
|
|
125
|
+
/**
|
|
126
|
+
* The parameter structure is automatically inferred on the number of parameters
|
|
127
|
+
* and the parameter type in case of a single param.
|
|
128
|
+
*/
|
|
129
|
+
static auto = new ParameterStructures('auto');
|
|
130
|
+
/**
|
|
131
|
+
* Forces `byPosition` parameter structure. This is useful if you have a single
|
|
132
|
+
* parameter which has a literal type.
|
|
133
|
+
*/
|
|
134
|
+
static byPosition = new ParameterStructures('byPosition');
|
|
135
|
+
/**
|
|
136
|
+
* Forces `byName` parameter structure. This is only useful when having a single
|
|
137
|
+
* parameter. The library will report errors if used with a different number of
|
|
138
|
+
* parameters.
|
|
139
|
+
*/
|
|
140
|
+
static byName = new ParameterStructures('byName');
|
|
141
|
+
constructor(kind) {
|
|
142
|
+
this.kind = kind;
|
|
143
|
+
}
|
|
144
|
+
static is(value) {
|
|
145
|
+
return value === ParameterStructures.auto || value === ParameterStructures.byName || value === ParameterStructures.byPosition;
|
|
146
|
+
}
|
|
147
|
+
toString() {
|
|
148
|
+
return this.kind;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
exports.ParameterStructures = ParameterStructures;
|
|
152
|
+
/**
|
|
153
|
+
* An abstract implementation of a MessageType.
|
|
154
|
+
*/
|
|
155
|
+
class AbstractMessageSignature {
|
|
156
|
+
method;
|
|
157
|
+
numberOfParams;
|
|
158
|
+
constructor(method, numberOfParams) {
|
|
159
|
+
this.method = method;
|
|
160
|
+
this.numberOfParams = numberOfParams;
|
|
161
|
+
}
|
|
162
|
+
get parameterStructures() {
|
|
163
|
+
return ParameterStructures.auto;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
exports.AbstractMessageSignature = AbstractMessageSignature;
|
|
167
|
+
/**
|
|
168
|
+
* Classes to type request response pairs
|
|
169
|
+
*/
|
|
170
|
+
class RequestType0 extends AbstractMessageSignature {
|
|
171
|
+
/**
|
|
172
|
+
* Clients must not use this property. It is here to ensure correct typing.
|
|
173
|
+
*/
|
|
174
|
+
_;
|
|
175
|
+
constructor(method) {
|
|
176
|
+
super(method, 0);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
exports.RequestType0 = RequestType0;
|
|
180
|
+
class RequestType extends AbstractMessageSignature {
|
|
181
|
+
_parameterStructures;
|
|
182
|
+
/**
|
|
183
|
+
* Clients must not use this property. It is here to ensure correct typing.
|
|
184
|
+
*/
|
|
185
|
+
_;
|
|
186
|
+
constructor(method, _parameterStructures = ParameterStructures.auto) {
|
|
187
|
+
super(method, 1);
|
|
188
|
+
this._parameterStructures = _parameterStructures;
|
|
189
|
+
}
|
|
190
|
+
get parameterStructures() {
|
|
191
|
+
return this._parameterStructures;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
exports.RequestType = RequestType;
|
|
195
|
+
class RequestType1 extends AbstractMessageSignature {
|
|
196
|
+
_parameterStructures;
|
|
197
|
+
/**
|
|
198
|
+
* Clients must not use this property. It is here to ensure correct typing.
|
|
199
|
+
*/
|
|
200
|
+
_;
|
|
201
|
+
constructor(method, _parameterStructures = ParameterStructures.auto) {
|
|
202
|
+
super(method, 1);
|
|
203
|
+
this._parameterStructures = _parameterStructures;
|
|
204
|
+
}
|
|
205
|
+
get parameterStructures() {
|
|
206
|
+
return this._parameterStructures;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
exports.RequestType1 = RequestType1;
|
|
210
|
+
class RequestType2 extends AbstractMessageSignature {
|
|
211
|
+
/**
|
|
212
|
+
* Clients must not use this property. It is here to ensure correct typing.
|
|
213
|
+
*/
|
|
214
|
+
_;
|
|
215
|
+
constructor(method) {
|
|
216
|
+
super(method, 2);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
exports.RequestType2 = RequestType2;
|
|
220
|
+
class RequestType3 extends AbstractMessageSignature {
|
|
221
|
+
/**
|
|
222
|
+
* Clients must not use this property. It is here to ensure correct typing.
|
|
223
|
+
*/
|
|
224
|
+
_;
|
|
225
|
+
constructor(method) {
|
|
226
|
+
super(method, 3);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
exports.RequestType3 = RequestType3;
|
|
230
|
+
class RequestType4 extends AbstractMessageSignature {
|
|
231
|
+
/**
|
|
232
|
+
* Clients must not use this property. It is here to ensure correct typing.
|
|
233
|
+
*/
|
|
234
|
+
_;
|
|
235
|
+
constructor(method) {
|
|
236
|
+
super(method, 4);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
exports.RequestType4 = RequestType4;
|
|
240
|
+
class RequestType5 extends AbstractMessageSignature {
|
|
241
|
+
/**
|
|
242
|
+
* Clients must not use this property. It is here to ensure correct typing.
|
|
243
|
+
*/
|
|
244
|
+
_;
|
|
245
|
+
constructor(method) {
|
|
246
|
+
super(method, 5);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
exports.RequestType5 = RequestType5;
|
|
250
|
+
class RequestType6 extends AbstractMessageSignature {
|
|
251
|
+
/**
|
|
252
|
+
* Clients must not use this property. It is here to ensure correct typing.
|
|
253
|
+
*/
|
|
254
|
+
_;
|
|
255
|
+
constructor(method) {
|
|
256
|
+
super(method, 6);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
exports.RequestType6 = RequestType6;
|
|
260
|
+
class RequestType7 extends AbstractMessageSignature {
|
|
261
|
+
/**
|
|
262
|
+
* Clients must not use this property. It is here to ensure correct typing.
|
|
263
|
+
*/
|
|
264
|
+
_;
|
|
265
|
+
constructor(method) {
|
|
266
|
+
super(method, 7);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
exports.RequestType7 = RequestType7;
|
|
270
|
+
class RequestType8 extends AbstractMessageSignature {
|
|
271
|
+
/**
|
|
272
|
+
* Clients must not use this property. It is here to ensure correct typing.
|
|
273
|
+
*/
|
|
274
|
+
_;
|
|
275
|
+
constructor(method) {
|
|
276
|
+
super(method, 8);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
exports.RequestType8 = RequestType8;
|
|
280
|
+
class RequestType9 extends AbstractMessageSignature {
|
|
281
|
+
/**
|
|
282
|
+
* Clients must not use this property. It is here to ensure correct typing.
|
|
283
|
+
*/
|
|
284
|
+
_;
|
|
285
|
+
constructor(method) {
|
|
286
|
+
super(method, 9);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
exports.RequestType9 = RequestType9;
|
|
290
|
+
class NotificationType extends AbstractMessageSignature {
|
|
291
|
+
_parameterStructures;
|
|
292
|
+
/**
|
|
293
|
+
* Clients must not use this property. It is here to ensure correct typing.
|
|
294
|
+
*/
|
|
295
|
+
_;
|
|
296
|
+
constructor(method, _parameterStructures = ParameterStructures.auto) {
|
|
297
|
+
super(method, 1);
|
|
298
|
+
this._parameterStructures = _parameterStructures;
|
|
299
|
+
}
|
|
300
|
+
get parameterStructures() {
|
|
301
|
+
return this._parameterStructures;
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
exports.NotificationType = NotificationType;
|
|
305
|
+
class NotificationType0 extends AbstractMessageSignature {
|
|
306
|
+
/**
|
|
307
|
+
* Clients must not use this property. It is here to ensure correct typing.
|
|
308
|
+
*/
|
|
309
|
+
_;
|
|
310
|
+
constructor(method) {
|
|
311
|
+
super(method, 0);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
exports.NotificationType0 = NotificationType0;
|
|
315
|
+
class NotificationType1 extends AbstractMessageSignature {
|
|
316
|
+
_parameterStructures;
|
|
317
|
+
/**
|
|
318
|
+
* Clients must not use this property. It is here to ensure correct typing.
|
|
319
|
+
*/
|
|
320
|
+
_;
|
|
321
|
+
constructor(method, _parameterStructures = ParameterStructures.auto) {
|
|
322
|
+
super(method, 1);
|
|
323
|
+
this._parameterStructures = _parameterStructures;
|
|
324
|
+
}
|
|
325
|
+
get parameterStructures() {
|
|
326
|
+
return this._parameterStructures;
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
exports.NotificationType1 = NotificationType1;
|
|
330
|
+
class NotificationType2 extends AbstractMessageSignature {
|
|
331
|
+
/**
|
|
332
|
+
* Clients must not use this property. It is here to ensure correct typing.
|
|
333
|
+
*/
|
|
334
|
+
_;
|
|
335
|
+
constructor(method) {
|
|
336
|
+
super(method, 2);
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
exports.NotificationType2 = NotificationType2;
|
|
340
|
+
class NotificationType3 extends AbstractMessageSignature {
|
|
341
|
+
/**
|
|
342
|
+
* Clients must not use this property. It is here to ensure correct typing.
|
|
343
|
+
*/
|
|
344
|
+
_;
|
|
345
|
+
constructor(method) {
|
|
346
|
+
super(method, 3);
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
exports.NotificationType3 = NotificationType3;
|
|
350
|
+
class NotificationType4 extends AbstractMessageSignature {
|
|
351
|
+
/**
|
|
352
|
+
* Clients must not use this property. It is here to ensure correct typing.
|
|
353
|
+
*/
|
|
354
|
+
_;
|
|
355
|
+
constructor(method) {
|
|
356
|
+
super(method, 4);
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
exports.NotificationType4 = NotificationType4;
|
|
360
|
+
class NotificationType5 extends AbstractMessageSignature {
|
|
361
|
+
/**
|
|
362
|
+
* Clients must not use this property. It is here to ensure correct typing.
|
|
363
|
+
*/
|
|
364
|
+
_;
|
|
365
|
+
constructor(method) {
|
|
366
|
+
super(method, 5);
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
exports.NotificationType5 = NotificationType5;
|
|
370
|
+
class NotificationType6 extends AbstractMessageSignature {
|
|
371
|
+
/**
|
|
372
|
+
* Clients must not use this property. It is here to ensure correct typing.
|
|
373
|
+
*/
|
|
374
|
+
_;
|
|
375
|
+
constructor(method) {
|
|
376
|
+
super(method, 6);
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
exports.NotificationType6 = NotificationType6;
|
|
380
|
+
class NotificationType7 extends AbstractMessageSignature {
|
|
381
|
+
/**
|
|
382
|
+
* Clients must not use this property. It is here to ensure correct typing.
|
|
383
|
+
*/
|
|
384
|
+
_;
|
|
385
|
+
constructor(method) {
|
|
386
|
+
super(method, 7);
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
exports.NotificationType7 = NotificationType7;
|
|
390
|
+
class NotificationType8 extends AbstractMessageSignature {
|
|
391
|
+
/**
|
|
392
|
+
* Clients must not use this property. It is here to ensure correct typing.
|
|
393
|
+
*/
|
|
394
|
+
_;
|
|
395
|
+
constructor(method) {
|
|
396
|
+
super(method, 8);
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
exports.NotificationType8 = NotificationType8;
|
|
400
|
+
class NotificationType9 extends AbstractMessageSignature {
|
|
401
|
+
/**
|
|
402
|
+
* Clients must not use this property. It is here to ensure correct typing.
|
|
403
|
+
*/
|
|
404
|
+
_;
|
|
405
|
+
constructor(method) {
|
|
406
|
+
super(method, 9);
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
exports.NotificationType9 = NotificationType9;
|
|
410
|
+
var Message;
|
|
411
|
+
(function (Message) {
|
|
412
|
+
/**
|
|
413
|
+
* Tests if the given message is a request message
|
|
414
|
+
*/
|
|
415
|
+
function isRequest(message) {
|
|
416
|
+
const candidate = message;
|
|
417
|
+
return candidate && is.string(candidate.method) && (is.string(candidate.id) || is.number(candidate.id));
|
|
418
|
+
}
|
|
419
|
+
Message.isRequest = isRequest;
|
|
420
|
+
/**
|
|
421
|
+
* Tests if the given message is a notification message
|
|
422
|
+
*/
|
|
423
|
+
function isNotification(message) {
|
|
424
|
+
const candidate = message;
|
|
425
|
+
return candidate && is.string(candidate.method) && message.id === void 0;
|
|
426
|
+
}
|
|
427
|
+
Message.isNotification = isNotification;
|
|
428
|
+
/**
|
|
429
|
+
* Tests if the given message is a response message
|
|
430
|
+
*/
|
|
431
|
+
function isResponse(message) {
|
|
432
|
+
const candidate = message;
|
|
433
|
+
return candidate && (candidate.result !== void 0 || !!candidate.error) && (is.string(candidate.id) || is.number(candidate.id) || candidate.id === null);
|
|
434
|
+
}
|
|
435
|
+
Message.isResponse = isResponse;
|
|
436
|
+
})(Message || (exports.Message = Message = {}));
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { Disposable } from './disposable';
|
|
2
|
+
import type { ContentTypeEncoder, ContentTypeDecoder } from './encoding';
|
|
3
|
+
interface _MessageBuffer {
|
|
4
|
+
readonly encoding: RAL.MessageBufferEncoding;
|
|
5
|
+
/**
|
|
6
|
+
* Append data to the message buffer.
|
|
7
|
+
*
|
|
8
|
+
* @param chunk the data to append.
|
|
9
|
+
*/
|
|
10
|
+
append(chunk: Uint8Array | string): void;
|
|
11
|
+
/**
|
|
12
|
+
* Tries to read the headers from the buffer
|
|
13
|
+
*
|
|
14
|
+
* @param lowerCaseKeys Whether the keys should be stored lower case. Doing
|
|
15
|
+
* so is recommended since HTTP headers are case insensitive.
|
|
16
|
+
*
|
|
17
|
+
* @returns the header properties or undefined in not enough data can be read.
|
|
18
|
+
*/
|
|
19
|
+
tryReadHeaders(lowerCaseKeys?: boolean): Map<string, string> | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* Tries to read the body of the given length.
|
|
22
|
+
*
|
|
23
|
+
* @param length the amount of bytes to read.
|
|
24
|
+
* @returns the data or undefined int less data is available.
|
|
25
|
+
*/
|
|
26
|
+
tryReadBody(length: number): Uint8Array | undefined;
|
|
27
|
+
}
|
|
28
|
+
type _MessageBufferEncoding = 'ascii' | 'utf-8';
|
|
29
|
+
interface _ReadableStream {
|
|
30
|
+
onData(listener: (data: Uint8Array) => void): Disposable;
|
|
31
|
+
onClose(listener: () => void): Disposable;
|
|
32
|
+
onError(listener: (error: any) => void): Disposable;
|
|
33
|
+
onEnd(listener: () => void): Disposable;
|
|
34
|
+
}
|
|
35
|
+
interface _WritableStream {
|
|
36
|
+
onClose(listener: () => void): Disposable;
|
|
37
|
+
onError(listener: (error: any) => void): Disposable;
|
|
38
|
+
onEnd(listener: () => void): Disposable;
|
|
39
|
+
write(data: Uint8Array): Promise<void>;
|
|
40
|
+
write(data: string, encoding: _MessageBufferEncoding): Promise<void>;
|
|
41
|
+
end(): void;
|
|
42
|
+
}
|
|
43
|
+
interface _DuplexStream extends _ReadableStream, _WritableStream {
|
|
44
|
+
}
|
|
45
|
+
interface RAL {
|
|
46
|
+
readonly applicationJson: {
|
|
47
|
+
readonly encoder: ContentTypeEncoder;
|
|
48
|
+
readonly decoder: ContentTypeDecoder;
|
|
49
|
+
};
|
|
50
|
+
readonly messageBuffer: {
|
|
51
|
+
create(encoding: RAL.MessageBufferEncoding): RAL.MessageBuffer;
|
|
52
|
+
};
|
|
53
|
+
readonly console: {
|
|
54
|
+
info(message?: any, ...optionalParams: any[]): void;
|
|
55
|
+
log(message?: any, ...optionalParams: any[]): void;
|
|
56
|
+
warn(message?: any, ...optionalParams: any[]): void;
|
|
57
|
+
error(message?: any, ...optionalParams: any[]): void;
|
|
58
|
+
};
|
|
59
|
+
readonly timer: {
|
|
60
|
+
setTimeout(callback: (...args: any[]) => void, ms: number, ...args: any[]): Disposable;
|
|
61
|
+
setImmediate(callback: (...args: any[]) => void, ...args: any[]): Disposable;
|
|
62
|
+
setInterval(callback: (...args: any[]) => void, ms: number, ...args: any[]): Disposable;
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
declare function RAL(): RAL;
|
|
66
|
+
declare namespace RAL {
|
|
67
|
+
type MessageBuffer = _MessageBuffer;
|
|
68
|
+
type MessageBufferEncoding = _MessageBufferEncoding;
|
|
69
|
+
type ReadableStream = _ReadableStream;
|
|
70
|
+
type WritableStream = _WritableStream;
|
|
71
|
+
type DuplexStream = _DuplexStream;
|
|
72
|
+
function install(ral: RAL): void;
|
|
73
|
+
}
|
|
74
|
+
export default RAL;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* --------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
5
|
+
* ------------------------------------------------------------------------------------------ */
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
let _ral;
|
|
8
|
+
function RAL() {
|
|
9
|
+
if (_ral === undefined) {
|
|
10
|
+
throw new Error(`No runtime abstraction layer installed`);
|
|
11
|
+
}
|
|
12
|
+
return _ral;
|
|
13
|
+
}
|
|
14
|
+
(function (RAL) {
|
|
15
|
+
function install(ral) {
|
|
16
|
+
if (ral === undefined) {
|
|
17
|
+
throw new Error(`No runtime abstraction layer provided`);
|
|
18
|
+
}
|
|
19
|
+
_ral = ral;
|
|
20
|
+
}
|
|
21
|
+
RAL.install = install;
|
|
22
|
+
})(RAL || (RAL = {}));
|
|
23
|
+
exports.default = RAL;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* --------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
5
|
+
* ------------------------------------------------------------------------------------------ */
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.Semaphore = void 0;
|
|
11
|
+
const ral_1 = __importDefault(require("./ral"));
|
|
12
|
+
class Semaphore {
|
|
13
|
+
_capacity;
|
|
14
|
+
_active;
|
|
15
|
+
_waiting;
|
|
16
|
+
constructor(capacity = 1) {
|
|
17
|
+
if (capacity <= 0) {
|
|
18
|
+
throw new Error('Capacity must be greater than 0');
|
|
19
|
+
}
|
|
20
|
+
this._capacity = capacity;
|
|
21
|
+
this._active = 0;
|
|
22
|
+
this._waiting = [];
|
|
23
|
+
}
|
|
24
|
+
lock(thunk) {
|
|
25
|
+
return new Promise((resolve, reject) => {
|
|
26
|
+
this._waiting.push({ thunk, resolve, reject });
|
|
27
|
+
this.runNext();
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
get active() {
|
|
31
|
+
return this._active;
|
|
32
|
+
}
|
|
33
|
+
runNext() {
|
|
34
|
+
if (this._waiting.length === 0 || this._active === this._capacity) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
(0, ral_1.default)().timer.setImmediate(() => this.doRunNext());
|
|
38
|
+
}
|
|
39
|
+
doRunNext() {
|
|
40
|
+
if (this._waiting.length === 0 || this._active === this._capacity) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const next = this._waiting.shift();
|
|
44
|
+
this._active++;
|
|
45
|
+
if (this._active > this._capacity) {
|
|
46
|
+
throw new Error(`Too many thunks active`);
|
|
47
|
+
}
|
|
48
|
+
try {
|
|
49
|
+
const result = next.thunk();
|
|
50
|
+
if (result instanceof Promise) {
|
|
51
|
+
result.then((value) => {
|
|
52
|
+
this._active--;
|
|
53
|
+
next.resolve(value);
|
|
54
|
+
this.runNext();
|
|
55
|
+
}, (err) => {
|
|
56
|
+
this._active--;
|
|
57
|
+
next.reject(err);
|
|
58
|
+
this.runNext();
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
this._active--;
|
|
63
|
+
next.resolve(result);
|
|
64
|
+
this.runNext();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch (err) {
|
|
68
|
+
this._active--;
|
|
69
|
+
next.reject(err);
|
|
70
|
+
this.runNext();
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
exports.Semaphore = Semaphore;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { RequestMessage } from './messages';
|
|
2
|
+
import { AbstractCancellationTokenSource } from './cancellation';
|
|
3
|
+
import { CancellationId, RequestCancellationReceiverStrategy, CancellationSenderStrategy, MessageConnection } from './connection';
|
|
4
|
+
export declare class SharedArraySenderStrategy implements CancellationSenderStrategy {
|
|
5
|
+
private readonly buffers;
|
|
6
|
+
constructor();
|
|
7
|
+
enableCancellation(request: RequestMessage): void;
|
|
8
|
+
sendCancellation(_conn: MessageConnection, id: CancellationId): Promise<void>;
|
|
9
|
+
cleanup(id: CancellationId): void;
|
|
10
|
+
dispose(): void;
|
|
11
|
+
}
|
|
12
|
+
export declare class SharedArrayReceiverStrategy implements RequestCancellationReceiverStrategy {
|
|
13
|
+
readonly kind: "request";
|
|
14
|
+
createCancellationTokenSource(request: RequestMessage): AbstractCancellationTokenSource;
|
|
15
|
+
}
|