27 lines
3.3 KiB
JavaScript
27 lines
3.3 KiB
JavaScript
"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 });
|
|
class Handles {
|
|
constructor(startHandle) {
|
|
this.START_HANDLE = 1000;
|
|
this._handleMap = new Map();
|
|
this._nextHandle = typeof startHandle === 'number' ? startHandle : this.START_HANDLE;
|
|
}
|
|
reset() {
|
|
this._nextHandle = this.START_HANDLE;
|
|
this._handleMap = new Map();
|
|
}
|
|
create(value) {
|
|
var handle = this._nextHandle++;
|
|
this._handleMap.set(handle, value);
|
|
return handle;
|
|
}
|
|
get(handle, dflt) {
|
|
return this._handleMap.get(handle) || dflt;
|
|
}
|
|
}
|
|
exports.Handles = Handles;
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oYW5kbGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O2dHQUdnRzs7QUFFaEc7SUFPQyxZQUFtQixXQUFvQjtRQUwvQixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUdwQixlQUFVLEdBQUcsSUFBSSxHQUFHLEVBQWEsQ0FBQztRQUd6QyxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sV0FBVyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQ3RGLENBQUM7SUFFTSxLQUFLO1FBQ1gsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxHQUFHLEVBQWEsQ0FBQztJQUN4QyxDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQVE7UUFDckIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ2YsQ0FBQztJQUVNLEdBQUcsQ0FBQyxNQUFjLEVBQUUsSUFBUTtRQUNsQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDO0lBQzVDLENBQUM7Q0FDRDtBQXpCRCwwQkF5QkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuZXhwb3J0IGNsYXNzIEhhbmRsZXM8VD4ge1xuXG5cdHByaXZhdGUgU1RBUlRfSEFORExFID0gMTAwMDtcblxuXHRwcml2YXRlIF9uZXh0SGFuZGxlIDogbnVtYmVyO1xuXHRwcml2YXRlIF9oYW5kbGVNYXAgPSBuZXcgTWFwPG51bWJlciwgVD4oKTtcblxuXHRwdWJsaWMgY29uc3RydWN0b3Ioc3RhcnRIYW5kbGU/OiBudW1iZXIpIHtcblx0XHR0aGlzLl9uZXh0SGFuZGxlID0gdHlwZW9mIHN0YXJ0SGFuZGxlID09PSAnbnVtYmVyJyA/IHN0YXJ0SGFuZGxlIDogdGhpcy5TVEFSVF9IQU5ETEU7XG5cdH1cblxuXHRwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG5cdFx0dGhpcy5fbmV4dEhhbmRsZSA9IHRoaXMuU1RBUlRfSEFORExFO1xuXHRcdHRoaXMuX2hhbmRsZU1hcCA9IG5ldyBNYXA8bnVtYmVyLCBUPigpO1xuXHR9XG5cblx0cHVibGljIGNyZWF0ZSh2YWx1ZTogVCk6IG51bWJlciB7XG5cdFx0dmFyIGhhbmRsZSA9IHRoaXMuX25leHRIYW5kbGUrKztcblx0XHR0aGlzLl9oYW5kbGVNYXAuc2V0KGhhbmRsZSwgdmFsdWUpO1xuXHRcdHJldHVybiBoYW5kbGU7XG5cdH1cblxuXHRwdWJsaWMgZ2V0KGhhbmRsZTogbnVtYmVyLCBkZmx0PzogVCk6IFQge1xuXHRcdHJldHVybiB0aGlzLl9oYW5kbGVNYXAuZ2V0KGhhbmRsZSkgfHwgZGZsdDtcblx0fVxufVxuIl19
|