mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-18 17:22:45 -05:00
* Merge from vscode e388c734f30757875976c7e326d6cfeee77710de * fix yarn lcoks * remove small issue
34 lines
904 B
TypeScript
34 lines
904 B
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
import { ExtHostHeapServiceShape } from '../common/extHost.protocol';
|
|
|
|
export class ExtHostHeapService implements ExtHostHeapServiceShape {
|
|
|
|
private static _idPool = 0;
|
|
|
|
private _data = new Map<number, any>();
|
|
|
|
keep(obj: any): number {
|
|
const id = ExtHostHeapService._idPool++;
|
|
this._data.set(id, obj);
|
|
return id;
|
|
}
|
|
|
|
delete(id: number): boolean {
|
|
return this._data.delete(id);
|
|
}
|
|
|
|
get<T>(id: number): T {
|
|
return this._data.get(id);
|
|
}
|
|
|
|
$onGarbageCollection(ids: number[]): void {
|
|
for (const id of ids) {
|
|
this.delete(id);
|
|
}
|
|
}
|
|
}
|