sussudio
Version:
An unofficial VS Code Internal API
42 lines (41 loc) • 1.9 kB
text/typescript
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { URI } from "../../../base/common/uri.mjs";
import { IEnvironmentService } from "../../environment/common/environment.mjs";
import { IFileService } from "../../files/common/files.mjs";
import { ILogService } from "../../log/common/log.mjs";
import { IStateService } from "./state.mjs";
export declare class FileStorage {
private readonly storagePath;
private readonly logService;
private readonly fileService;
private storage;
private lastSavedStorageContents;
private readonly flushDelayer;
private initializing;
private closing;
constructor(storagePath: URI, logService: ILogService, fileService: IFileService);
init(): Promise<void>;
private doInit;
getItem<T>(key: string, defaultValue: T): T;
getItem<T>(key: string, defaultValue?: T): T | undefined;
setItem(key: string, data?: object | string | number | boolean | undefined | null): void;
setItems(items: readonly {
key: string;
data?: object | string | number | boolean | undefined | null;
}[]): void;
removeItem(key: string): void;
private save;
private doSave;
close(): Promise<void>;
}
export declare class StateService implements IStateService {
readonly _serviceBrand: undefined;
protected readonly fileStorage: FileStorage;
constructor(environmentService: IEnvironmentService, logService: ILogService, fileService: IFileService);
init(): Promise<void>;
getItem<T>(key: string, defaultValue: T): T;
getItem<T>(key: string, defaultValue?: T): T | undefined;
}