UNPKG

@sussudio/platform

Version:

Internal APIs for VS Code's service injection the base services.

45 lines (43 loc) 1.82 kB
/*--------------------------------------------------------------------------------------------- * 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 '@sussudio/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; }