Skip to content

Commit d80f82a

Browse files
committed
Move and refactor fs tests
1 parent 2889b3f commit d80f82a

11 files changed

Lines changed: 726 additions & 682 deletions

File tree

packages/ide/package.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
{
22
"name": "@coder/ide",
33
"description": "Browser-based IDE client abstraction.",
4-
"main": "src/index.ts"
4+
"main": "src/index.ts",
5+
"dependencies": {},
6+
"devDependencies": {
7+
"@types/rimraf": "^2.0.2",
8+
"rimraf": "^2.6.3"
9+
}
510
}

packages/ide/src/fill/client.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { retry } from "../retry";
77
* A connection based on a web socket. Automatically reconnects and buffers
88
* messages during connection.
99
*/
10-
class Connection implements ReadWriteConnection {
10+
class WebsocketConnection implements ReadWriteConnection {
1111
private activeSocket: WebSocket | undefined;
1212
private readonly messageBuffer = <Uint8Array[]>[];
1313
private readonly socketTimeoutDelay = 60 * 1000;
@@ -129,4 +129,4 @@ class Connection implements ReadWriteConnection {
129129
}
130130

131131
// Global instance so all fills can use the same client.
132-
export const client = new Client(new Connection());
132+
export const client = new Client(new WebsocketConnection());

packages/ide/src/fill/fs.ts

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ class FS {
116116
const ae = this.client.run((ae, path, options) => {
117117
const fs = __non_webpack_require__("fs") as typeof import("fs");
118118
const str = fs.createWriteStream(path, options);
119-
ae.on("write", (d) => str.write(_Buffer.from(d, "utf8")));
119+
ae.on("write", (d: string) => str.write(_Buffer.from(d, "utf8")));
120120
ae.on("close", () => str.close());
121121
str.on("close", () => ae.emit("close"));
122122
str.on("open", (fd) => ae.emit("open", fd));
@@ -141,7 +141,7 @@ class FS {
141141
},
142142
});
143143

144-
ae.on("open", (a) => this.emit("open", a));
144+
ae.on("open", (fd: number) => this.emit("open", fd));
145145
ae.on("close", () => this.emit("close"));
146146
}
147147

@@ -597,7 +597,15 @@ class FS {
597597
});
598598
}
599599

600-
public write = <TBuffer extends Buffer | Uint8Array>(fd: number, buffer: TBuffer, offset: number | undefined, length: number | undefined, position: number | undefined | ((err: NodeJS.ErrnoException, written: number, buffer: TBuffer) => void), callback?: (err: NodeJS.ErrnoException, written: number, buffer: TBuffer) => void): void => {
600+
public write = <TBuffer extends Buffer | Uint8Array>(fd: number, buffer: TBuffer, offset: number | undefined | ((err: NodeJS.ErrnoException, written: number, buffer: TBuffer) => void), length: number | undefined | ((err: NodeJS.ErrnoException, written: number, buffer: TBuffer) => void), position: number | undefined | ((err: NodeJS.ErrnoException, written: number, buffer: TBuffer) => void), callback?: (err: NodeJS.ErrnoException, written: number, buffer: TBuffer) => void): void => {
601+
if (typeof offset === "function") {
602+
callback = offset;
603+
offset = undefined;
604+
}
605+
if (typeof length === "function") {
606+
callback = length;
607+
length = undefined;
608+
}
601609
if (typeof position === "function") {
602610
callback = position;
603611
position = undefined;
@@ -662,9 +670,9 @@ class FS {
662670
return new class Watcher extends EventEmitter implements fs.FSWatcher {
663671
public constructor() {
664672
super();
665-
ae.on("change", (event, filename) => this.emit("change", event, filename));
666-
ae.on("error", (error) => this.emit("error", error));
667-
ae.on("listener", (event, filename) => listener && listener(event, filename));
673+
ae.on("change", (event: string, filename: string) => this.emit("change", event, filename));
674+
ae.on("error", (error: Error) => this.emit("error", error));
675+
ae.on("listener", (event: string, filename: string) => listener && listener(event, filename));
668676
}
669677

670678
public close(): void {

0 commit comments

Comments
 (0)