microsoft_vscode/src/vs/workbench/api/node/extHostStorage.ts

26 lines
1.0 KiB
TypeScript

/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'use strict';
import {TPromise} from 'vs/base/common/winjs.base';
import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
import {MainContext, MainThreadStorageShape} from './extHostProtocol';
export class ExtHostStorage {
private _proxy: MainThreadStorageShape;
constructor(threadService: IThreadService) {
this._proxy = threadService.get(MainContext.MainThreadStorage);
}
getValue<T>(shared: boolean, key: string, defaultValue?: T): TPromise<T> {
return this._proxy.getValue(shared, key).then(value => value || defaultValue);
}
setValue(shared: boolean, key: string, value: any): TPromise<void> {
return this._proxy.setValue(shared, key, value);
}
}