mirror of https://git.tuxpa.in/a/code-server.git
66 lines
2.1 KiB
TypeScript
66 lines
2.1 KiB
TypeScript
import { InitData, SharedProcessData } from "@coder/protocol";
|
|
|
|
class Paths {
|
|
private _appData: string | undefined;
|
|
private _defaultUserData: string | undefined;
|
|
private _socketPath: string | undefined;
|
|
private _builtInExtensionsDirectory: string | undefined;
|
|
private _workingDirectory: string | undefined;
|
|
|
|
public get appData(): string {
|
|
if (typeof this._appData === "undefined") {
|
|
throw new Error("trying to access appData before it has been set");
|
|
}
|
|
|
|
return this._appData;
|
|
}
|
|
|
|
public get defaultUserData(): string {
|
|
if (typeof this._defaultUserData === "undefined") {
|
|
throw new Error("trying to access defaultUserData before it has been set");
|
|
}
|
|
|
|
return this._defaultUserData;
|
|
}
|
|
|
|
public get socketPath(): string {
|
|
if (typeof this._socketPath === "undefined") {
|
|
throw new Error("trying to access socketPath before it has been set");
|
|
}
|
|
|
|
return this._socketPath;
|
|
}
|
|
|
|
public get builtInExtensionsDirectory(): string {
|
|
if (!this._builtInExtensionsDirectory) {
|
|
throw new Error("trying to access builtin extensions directory before it has been set");
|
|
}
|
|
|
|
return this._builtInExtensionsDirectory;
|
|
}
|
|
|
|
public get workingDirectory(): string {
|
|
if (!this._workingDirectory) {
|
|
throw new Error("trying to access working directory before it has been set");
|
|
}
|
|
|
|
return this._workingDirectory;
|
|
}
|
|
|
|
public initialize(data: InitData, sharedData: SharedProcessData): void {
|
|
process.env.VSCODE_LOGS = sharedData.logPath;
|
|
this._appData = data.dataDirectory;
|
|
this._defaultUserData = data.dataDirectory;
|
|
this._socketPath = sharedData.socketPath;
|
|
this._builtInExtensionsDirectory = data.builtInExtensionsDirectory;
|
|
this._workingDirectory = data.workingDirectory;
|
|
}
|
|
}
|
|
|
|
export const _paths = new Paths();
|
|
export const getAppDataPath = (): string => _paths.appData;
|
|
export const getDefaultUserDataPath = (): string => _paths.defaultUserData;
|
|
export const getWorkingDirectory = (): string => _paths.workingDirectory;
|
|
export const getBuiltInExtensionsDirectory = (): string => _paths.builtInExtensionsDirectory;
|
|
export const getSocketPath = (): string => _paths.socketPath;
|