add hw2
This commit is contained in:
		
							
								
								
									
										96
									
								
								node_modules/vscode-jsonrpc/lib/common/cancellation.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										96
									
								
								node_modules/vscode-jsonrpc/lib/common/cancellation.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,96 @@ | ||||
| "use strict"; | ||||
| /*--------------------------------------------------------------------------------------------- | ||||
|  *  Copyright (c) Microsoft Corporation. All rights reserved. | ||||
|  *  Licensed under the MIT License. See License.txt in the project root for license information. | ||||
|  *--------------------------------------------------------------------------------------------*/ | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.CancellationTokenSource = exports.CancellationToken = void 0; | ||||
| const ral_1 = require("./ral"); | ||||
| const Is = require("./is"); | ||||
| const events_1 = require("./events"); | ||||
| var CancellationToken; | ||||
| (function (CancellationToken) { | ||||
|     CancellationToken.None = Object.freeze({ | ||||
|         isCancellationRequested: false, | ||||
|         onCancellationRequested: events_1.Event.None | ||||
|     }); | ||||
|     CancellationToken.Cancelled = Object.freeze({ | ||||
|         isCancellationRequested: true, | ||||
|         onCancellationRequested: events_1.Event.None | ||||
|     }); | ||||
|     function is(value) { | ||||
|         const candidate = value; | ||||
|         return candidate && (candidate === CancellationToken.None | ||||
|             || candidate === CancellationToken.Cancelled | ||||
|             || (Is.boolean(candidate.isCancellationRequested) && !!candidate.onCancellationRequested)); | ||||
|     } | ||||
|     CancellationToken.is = is; | ||||
| })(CancellationToken || (exports.CancellationToken = CancellationToken = {})); | ||||
| const shortcutEvent = Object.freeze(function (callback, context) { | ||||
|     const handle = (0, ral_1.default)().timer.setTimeout(callback.bind(context), 0); | ||||
|     return { dispose() { handle.dispose(); } }; | ||||
| }); | ||||
| class MutableToken { | ||||
|     constructor() { | ||||
|         this._isCancelled = false; | ||||
|     } | ||||
|     cancel() { | ||||
|         if (!this._isCancelled) { | ||||
|             this._isCancelled = true; | ||||
|             if (this._emitter) { | ||||
|                 this._emitter.fire(undefined); | ||||
|                 this.dispose(); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|     get isCancellationRequested() { | ||||
|         return this._isCancelled; | ||||
|     } | ||||
|     get onCancellationRequested() { | ||||
|         if (this._isCancelled) { | ||||
|             return shortcutEvent; | ||||
|         } | ||||
|         if (!this._emitter) { | ||||
|             this._emitter = new events_1.Emitter(); | ||||
|         } | ||||
|         return this._emitter.event; | ||||
|     } | ||||
|     dispose() { | ||||
|         if (this._emitter) { | ||||
|             this._emitter.dispose(); | ||||
|             this._emitter = undefined; | ||||
|         } | ||||
|     } | ||||
| } | ||||
| class CancellationTokenSource { | ||||
|     get token() { | ||||
|         if (!this._token) { | ||||
|             // be lazy and create the token only when | ||||
|             // actually needed | ||||
|             this._token = new MutableToken(); | ||||
|         } | ||||
|         return this._token; | ||||
|     } | ||||
|     cancel() { | ||||
|         if (!this._token) { | ||||
|             // save an object by returning the default | ||||
|             // cancelled token when cancellation happens | ||||
|             // before someone asks for the token | ||||
|             this._token = CancellationToken.Cancelled; | ||||
|         } | ||||
|         else { | ||||
|             this._token.cancel(); | ||||
|         } | ||||
|     } | ||||
|     dispose() { | ||||
|         if (!this._token) { | ||||
|             // ensure to initialize with an empty token if we had none | ||||
|             this._token = CancellationToken.None; | ||||
|         } | ||||
|         else if (this._token instanceof MutableToken) { | ||||
|             // actually dispose | ||||
|             this._token.dispose(); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| exports.CancellationTokenSource = CancellationTokenSource; | ||||
		Reference in New Issue
	
	Block a user
	 nik
					nik