mirror of
https://github.com/denoland/deno.git
synced 2025-08-02 18:12:39 +00:00
change type of stdio handles in JS api (#4891)
This commit is contained in:
parent
4a8d25646a
commit
912a57f6a2
3 changed files with 82 additions and 12 deletions
|
@ -97,9 +97,66 @@ export class File
|
|||
}
|
||||
}
|
||||
|
||||
export const stdin = new File(0);
|
||||
export const stdout = new File(1);
|
||||
export const stderr = new File(2);
|
||||
class Stdin implements Reader, SyncReader, Closer {
|
||||
readonly rid: number;
|
||||
constructor() {
|
||||
this.rid = 0;
|
||||
}
|
||||
|
||||
read(p: Uint8Array): Promise<number | EOF> {
|
||||
return read(this.rid, p);
|
||||
}
|
||||
|
||||
readSync(p: Uint8Array): number | EOF {
|
||||
return readSync(this.rid, p);
|
||||
}
|
||||
|
||||
close(): void {
|
||||
close(this.rid);
|
||||
}
|
||||
}
|
||||
|
||||
class Stdout implements Writer, SyncWriter, Closer {
|
||||
readonly rid: number;
|
||||
constructor() {
|
||||
this.rid = 1;
|
||||
}
|
||||
|
||||
write(p: Uint8Array): Promise<number> {
|
||||
return write(this.rid, p);
|
||||
}
|
||||
|
||||
writeSync(p: Uint8Array): number {
|
||||
return writeSync(this.rid, p);
|
||||
}
|
||||
|
||||
close(): void {
|
||||
close(this.rid);
|
||||
}
|
||||
}
|
||||
|
||||
export class Stderr implements Writer, SyncWriter, Closer {
|
||||
readonly rid: number;
|
||||
constructor() {
|
||||
this.rid = 2;
|
||||
}
|
||||
|
||||
write(p: Uint8Array): Promise<number> {
|
||||
return write(this.rid, p);
|
||||
}
|
||||
|
||||
writeSync(p: Uint8Array): number {
|
||||
return writeSync(this.rid, p);
|
||||
}
|
||||
|
||||
close(): void {
|
||||
close(this.rid);
|
||||
}
|
||||
}
|
||||
|
||||
export const stdin = new Stdin();
|
||||
export const stdout = new Stdout();
|
||||
export const stderr = new Stderr();
|
||||
|
||||
function checkOpenOptions(options: OpenOptions): void {
|
||||
if (Object.values(options).filter((val) => val === true).length === 0) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue