mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-15 10:58:31 -05:00
Merge from vscode 2b0b9136329c181a9e381463a1f7dc3a2d105a34 (#4880)
This commit is contained in:
@@ -72,11 +72,12 @@ export interface IStorageService {
|
||||
|
||||
/**
|
||||
* Store a value under the given key to storage. The value will be converted to a string.
|
||||
* Storing either undefined or null will remove the entry under the key.
|
||||
*
|
||||
* The scope argument allows to define the scope of the storage
|
||||
* operation to either the current workspace only or all workspaces.
|
||||
*/
|
||||
store(key: string, value: string | boolean | number, scope: StorageScope): void;
|
||||
store(key: string, value: string | boolean | number | undefined | null, scope: StorageScope): void;
|
||||
|
||||
/**
|
||||
* Delete an element stored under the provided key from storage.
|
||||
@@ -153,7 +154,7 @@ export class InMemoryStorageService extends Disposable implements IStorageServic
|
||||
return parseInt(value, 10);
|
||||
}
|
||||
|
||||
store(key: string, value: string | boolean | number, scope: StorageScope): Promise<void> {
|
||||
store(key: string, value: string | boolean | number | undefined | null, scope: StorageScope): Promise<void> {
|
||||
|
||||
// We remove the key for undefined/null values
|
||||
if (isUndefinedOrNull(value)) {
|
||||
|
||||
@@ -101,7 +101,7 @@ export class GlobalStorageDatabaseChannel extends Disposable implements IServerC
|
||||
const items = new Map<Key, Value>();
|
||||
events.forEach(event => items.set(event.key, this.storageMainService.get(event.key)));
|
||||
|
||||
return { items: mapToSerializable(items) } as ISerializableItemsChangeEvent;
|
||||
return { items: mapToSerializable(items) };
|
||||
}
|
||||
|
||||
listen(_: unknown, event: string): Event<any> {
|
||||
@@ -120,7 +120,7 @@ export class GlobalStorageDatabaseChannel extends Disposable implements IServerC
|
||||
|
||||
case 'updateItems': {
|
||||
return this.whenReady.then(() => {
|
||||
const items = arg as ISerializableUpdateRequest;
|
||||
const items: ISerializableUpdateRequest = arg;
|
||||
if (items.insert) {
|
||||
for (const [key, value] of items.insert) {
|
||||
this.storageMainService.store(key, value);
|
||||
@@ -199,7 +199,7 @@ export class GlobalStorageDatabaseChannelClient extends Disposable implements IS
|
||||
close(): Promise<void> {
|
||||
|
||||
// when we are about to close, we start to ignore main-side changes since we close anyway
|
||||
this.onDidChangeItemsOnMainListener = dispose(this.onDidChangeItemsOnMainListener);
|
||||
dispose(this.onDidChangeItemsOnMainListener);
|
||||
|
||||
return Promise.resolve(); // global storage is closed on the main side
|
||||
}
|
||||
@@ -207,6 +207,6 @@ export class GlobalStorageDatabaseChannelClient extends Disposable implements IS
|
||||
dispose(): void {
|
||||
super.dispose();
|
||||
|
||||
this.onDidChangeItemsOnMainListener = dispose(this.onDidChangeItemsOnMainListener);
|
||||
dispose(this.onDidChangeItemsOnMainListener);
|
||||
}
|
||||
}
|
||||
@@ -57,7 +57,7 @@ export interface IStorageMainService {
|
||||
* Store a string value under the given key to storage. The value will
|
||||
* be converted to a string.
|
||||
*/
|
||||
store(key: string, value: any): void;
|
||||
store(key: string, value: string | boolean | number | undefined | null): void;
|
||||
|
||||
/**
|
||||
* Delete an element stored under the provided key from storage.
|
||||
@@ -109,7 +109,7 @@ export class StorageMainService extends Disposable implements IStorageMainServic
|
||||
return {
|
||||
logTrace: (this.logService.getLevel() === LogLevel.Trace) ? msg => this.logService.trace(msg) : undefined,
|
||||
logError: error => this.logService.error(error)
|
||||
} as ISQLiteStorageDatabaseLoggingOptions;
|
||||
};
|
||||
}
|
||||
|
||||
initialize(): Promise<void> {
|
||||
@@ -160,7 +160,7 @@ export class StorageMainService extends Disposable implements IStorageMainServic
|
||||
return this.storage.getNumber(key, fallbackValue);
|
||||
}
|
||||
|
||||
store(key: string, value: any): Promise<void> {
|
||||
store(key: string, value: string | boolean | number | undefined | null): Promise<void> {
|
||||
return this.storage.set(key, value);
|
||||
}
|
||||
|
||||
|
||||
@@ -105,8 +105,8 @@ export class StorageService extends Disposable implements IStorageService {
|
||||
};
|
||||
|
||||
// Dispose old (if any)
|
||||
this.workspaceStorage = dispose(this.workspaceStorage);
|
||||
this.workspaceStorageListener = dispose(this.workspaceStorageListener);
|
||||
dispose(this.workspaceStorage);
|
||||
dispose(this.workspaceStorageListener);
|
||||
|
||||
// Create new
|
||||
this.workspaceStoragePath = workspaceStoragePath;
|
||||
@@ -176,7 +176,7 @@ export class StorageService extends Disposable implements IStorageService {
|
||||
return this.getStorage(scope).getNumber(key, fallbackValue);
|
||||
}
|
||||
|
||||
store(key: string, value: string | boolean | number, scope: StorageScope): void {
|
||||
store(key: string, value: string | boolean | number | undefined | null, scope: StorageScope): void {
|
||||
this.getStorage(scope).set(key, value);
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import { StorageService } from 'vs/platform/storage/node/storageService';
|
||||
import { generateUuid } from 'vs/base/common/uuid';
|
||||
import { join } from 'vs/base/common/path';
|
||||
import { tmpdir } from 'os';
|
||||
import { mkdirp, del } from 'vs/base/node/pfs';
|
||||
import { mkdirp, rimraf, RimRafMode } from 'vs/base/node/pfs';
|
||||
import { NullLogService } from 'vs/platform/log/common/log';
|
||||
import { EnvironmentService } from 'vs/platform/environment/node/environmentService';
|
||||
import { parseArgs } from 'vs/platform/environment/node/argv';
|
||||
@@ -115,6 +115,6 @@ suite('StorageService', () => {
|
||||
equal(storage.getBoolean('barBoolean', StorageScope.GLOBAL), true);
|
||||
|
||||
await storage.close();
|
||||
await del(storageDir, tmpdir());
|
||||
await rimraf(storageDir, RimRafMode.MOVE);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user