mirror of
https://github.com/coder/code-server.git
synced 2026-05-07 21:07:26 +02:00
* Fix syntax highlighting, process spawning, extensions, terminals * Replace colons in toISOString * Move pathSets included in task
49 lines
906 B
TypeScript
49 lines
906 B
TypeScript
import { InitData } from "@coder/protocol";
|
|
import { client } from "./client";
|
|
|
|
class OS {
|
|
|
|
private _homedir: string | undefined;
|
|
private _tmpdir: string | undefined;
|
|
|
|
public constructor() {
|
|
client.initData.then((data) => {
|
|
this.initialize(data);
|
|
});
|
|
}
|
|
|
|
public homedir(): string {
|
|
if (typeof this._homedir === "undefined") {
|
|
throw new Error("not initialized");
|
|
}
|
|
|
|
return this._homedir;
|
|
}
|
|
|
|
public tmpdir(): string {
|
|
if (typeof this._tmpdir === "undefined") {
|
|
throw new Error("not initialized");
|
|
}
|
|
|
|
return this._tmpdir;
|
|
}
|
|
|
|
public initialize(data: InitData): void {
|
|
this._homedir = data.homeDirectory;
|
|
this._tmpdir = data.tmpDirectory;
|
|
}
|
|
|
|
public platform(): NodeJS.Platform {
|
|
if (navigator.appVersion.indexOf("Win") != -1) {
|
|
return "win32";
|
|
}
|
|
if (navigator.appVersion.indexOf("Mac") != -1) {
|
|
return "darwin";
|
|
}
|
|
return "linux";
|
|
}
|
|
|
|
}
|
|
|
|
export = new OS();
|