mirror of
https://github.com/kristoferssolo/solorice.git
synced 2025-10-21 20:10:34 +00:00
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oYW5kbGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O2dHQUdnRzs7QUFFaEcsTUFBYSxPQUFPO0lBT25CLFlBQW1CLFdBQW9CO1FBTC9CLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBR3BCLGVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBYSxDQUFDO1FBR3pDLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxXQUFXLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDdEYsQ0FBQztJQUVNLEtBQUs7UUFDWCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDckMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBYSxDQUFDO0lBQ3hDLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBUTtRQUNyQixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25DLE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQztJQUVNLEdBQUcsQ0FBQyxNQUFjLEVBQUUsSUFBUTtRQUNsQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQztJQUM1QyxDQUFDO0NBQ0Q7QUF6QkQsMEJBeUJDIiwic291cmNlc0NvbnRlbnQiOlsiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmV4cG9ydCBjbGFzcyBIYW5kbGVzPFQ+IHtcblxuXHRwcml2YXRlIFNUQVJUX0hBTkRMRSA9IDEwMDA7XG5cblx0cHJpdmF0ZSBfbmV4dEhhbmRsZSA6IG51bWJlcjtcblx0cHJpdmF0ZSBfaGFuZGxlTWFwID0gbmV3IE1hcDxudW1iZXIsIFQ+KCk7XG5cblx0cHVibGljIGNvbnN0cnVjdG9yKHN0YXJ0SGFuZGxlPzogbnVtYmVyKSB7XG5cdFx0dGhpcy5fbmV4dEhhbmRsZSA9IHR5cGVvZiBzdGFydEhhbmRsZSA9PT0gJ251bWJlcicgPyBzdGFydEhhbmRsZSA6IHRoaXMuU1RBUlRfSEFORExFO1xuXHR9XG5cblx0cHVibGljIHJlc2V0KCk6IHZvaWQge1xuXHRcdHRoaXMuX25leHRIYW5kbGUgPSB0aGlzLlNUQVJUX0hBTkRMRTtcblx0XHR0aGlzLl9oYW5kbGVNYXAgPSBuZXcgTWFwPG51bWJlciwgVD4oKTtcblx0fVxuXG5cdHB1YmxpYyBjcmVhdGUodmFsdWU6IFQpOiBudW1iZXIge1xuXHRcdHZhciBoYW5kbGUgPSB0aGlzLl9uZXh0SGFuZGxlKys7XG5cdFx0dGhpcy5faGFuZGxlTWFwLnNldChoYW5kbGUsIHZhbHVlKTtcblx0XHRyZXR1cm4gaGFuZGxlO1xuXHR9XG5cblx0cHVibGljIGdldChoYW5kbGU6IG51bWJlciwgZGZsdD86IFQpOiBUIHtcblx0XHRyZXR1cm4gdGhpcy5faGFuZGxlTWFwLmdldChoYW5kbGUpIHx8IGRmbHQ7XG5cdH1cbn1cbiJdfQ==
|