mirror of
https://github.com/denoland/deno.git
synced 2025-09-30 06:04:48 +00:00
reorg: move JS ops implementations to cli/js/ops/, part 3 (#4302)
Following JS ops were moved to separate files in cli/js/ops directory: - net - tls - fs
This commit is contained in:
parent
2115b38fef
commit
b7eb241c35
30 changed files with 369 additions and 193 deletions
37
cli/js/ops/fs/read_dir.ts
Normal file
37
cli/js/ops/fs/read_dir.ts
Normal file
|
@ -0,0 +1,37 @@
|
|||
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
|
||||
import { sendSync, sendAsync } from "../dispatch_json.ts";
|
||||
import { FileInfo, FileInfoImpl } from "../../file_info.ts";
|
||||
import { StatResponse } from "./stat.ts";
|
||||
|
||||
interface ReadDirResponse {
|
||||
entries: StatResponse[];
|
||||
}
|
||||
|
||||
function res(response: ReadDirResponse): FileInfo[] {
|
||||
return response.entries.map(
|
||||
(statRes: StatResponse): FileInfo => {
|
||||
return new FileInfoImpl(statRes);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
/** Synchronously reads the directory given by `path` and returns an array of
|
||||
* `Deno.FileInfo`.
|
||||
*
|
||||
* const files = Deno.readdirSync("/");
|
||||
*
|
||||
* Requires `allow-read` permission. */
|
||||
export function readdirSync(path: string): FileInfo[] {
|
||||
return res(sendSync("op_read_dir", { path }));
|
||||
}
|
||||
|
||||
/** UNSTABLE: Maybe need to return an `AsyncIterable`.
|
||||
*
|
||||
* Reads the directory given by `path` and resolves to an array of `Deno.FileInfo`.
|
||||
*
|
||||
* const files = await Deno.readdir("/");
|
||||
*
|
||||
* Requires `allow-read` permission. */
|
||||
export async function readdir(path: string): Promise<FileInfo[]> {
|
||||
return res(await sendAsync("op_read_dir", { path }));
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue