mirror of
https://github.com/denoland/deno.git
synced 2025-01-09 15:48:16 -05:00
Rename readDir -> readdir (#4225)
This commit is contained in:
parent
afea9b2edd
commit
9a63902db5
13 changed files with 46 additions and 47 deletions
|
@ -111,7 +111,7 @@ export {
|
||||||
ProcessStatus,
|
ProcessStatus,
|
||||||
Signal
|
Signal
|
||||||
} from "./process.ts";
|
} from "./process.ts";
|
||||||
export { readDirSync, readDir } from "./read_dir.ts";
|
export { readdirSync, readdir } from "./read_dir.ts";
|
||||||
export { readFileSync, readFile } from "./read_file.ts";
|
export { readFileSync, readFile } from "./read_file.ts";
|
||||||
export { readlinkSync, readlink } from "./read_link.ts";
|
export { readlinkSync, readlink } from "./read_link.ts";
|
||||||
export { realpathSync, realpath } from "./realpath.ts";
|
export { realpathSync, realpath } from "./realpath.ts";
|
||||||
|
|
|
@ -3,8 +3,8 @@ import { StatResponse } from "./stat.ts";
|
||||||
import { build } from "./build.ts";
|
import { build } from "./build.ts";
|
||||||
|
|
||||||
/** A FileInfo describes a file and is returned by `stat`, `lstat`,
|
/** A FileInfo describes a file and is returned by `stat`, `lstat`,
|
||||||
* `statSync`, `lstatSync`. A list of FileInfo is returned by `readDir`,
|
* `statSync`, `lstatSync`. A list of FileInfo is returned by `readdir`,
|
||||||
* `readDirSync`. */
|
* `readdirSync`. */
|
||||||
export interface FileInfo {
|
export interface FileInfo {
|
||||||
/** The size of the file, in bytes. */
|
/** The size of the file, in bytes. */
|
||||||
len: number;
|
len: number;
|
||||||
|
|
19
cli/js/lib.deno.ns.d.ts
vendored
19
cli/js/lib.deno.ns.d.ts
vendored
|
@ -992,8 +992,8 @@ declare namespace Deno {
|
||||||
/** UNSTABLE: 'len' maybe should be 'length' or 'size'.
|
/** UNSTABLE: 'len' maybe should be 'length' or 'size'.
|
||||||
*
|
*
|
||||||
* A FileInfo describes a file and is returned by `stat`, `lstat`,
|
* A FileInfo describes a file and is returned by `stat`, `lstat`,
|
||||||
* `statSync`, `lstatSync`. A list of FileInfo is returned by `readDir`,
|
* `statSync`, `lstatSync`. A list of FileInfo is returned by `readdir`,
|
||||||
* `readDirSync`. */
|
* `readdirSync`. */
|
||||||
export interface FileInfo {
|
export interface FileInfo {
|
||||||
/** **UNSTABLE**: `.len` maybe should be `.length` or `.size`.
|
/** **UNSTABLE**: `.len` maybe should be `.length` or `.size`.
|
||||||
*
|
*
|
||||||
|
@ -1079,25 +1079,24 @@ declare namespace Deno {
|
||||||
|
|
||||||
// @url js/read_dir.d.ts
|
// @url js/read_dir.d.ts
|
||||||
|
|
||||||
/** UNSTABLE: Unstable rename to readdirSync.
|
/** UNSTABLE: need to consider streaming case
|
||||||
*
|
*
|
||||||
/* Synchronously reads the directory given by `path` and returns an array of
|
* Synchronously reads the directory given by `path` and returns an array of
|
||||||
* `Deno.FileInfo`.
|
* `Deno.FileInfo`.
|
||||||
*
|
*
|
||||||
* const files = Deno.readDirSync("/");
|
* const files = Deno.readdirSync("/");
|
||||||
*
|
*
|
||||||
* Requires `allow-read` permission. */
|
* Requires `allow-read` permission. */
|
||||||
export function readDirSync(path: string): FileInfo[];
|
export function readdirSync(path: string): FileInfo[];
|
||||||
|
|
||||||
/** UNSTABLE: Possibly rename to `.readdir()`. Maybe need to return an
|
/** UNSTABLE: Maybe need to return an `AsyncIterable`.
|
||||||
* `AsyncIterable`.
|
|
||||||
*
|
*
|
||||||
* Reads the directory given by `path` and resolves to an array of `Deno.FileInfo`.
|
* Reads the directory given by `path` and resolves to an array of `Deno.FileInfo`.
|
||||||
*
|
*
|
||||||
* const files = await Deno.readDir("/");
|
* const files = await Deno.readdir("/");
|
||||||
*
|
*
|
||||||
* Requires `allow-read` permission. */
|
* Requires `allow-read` permission. */
|
||||||
export function readDir(path: string): Promise<FileInfo[]>;
|
export function readdir(path: string): Promise<FileInfo[]>;
|
||||||
|
|
||||||
// @url js/copy_file.d.ts
|
// @url js/copy_file.d.ts
|
||||||
|
|
||||||
|
|
|
@ -18,10 +18,10 @@ function res(response: ReadDirResponse): FileInfo[] {
|
||||||
/** Synchronously reads the directory given by `path` and returns an array of
|
/** Synchronously reads the directory given by `path` and returns an array of
|
||||||
* `Deno.FileInfo`.
|
* `Deno.FileInfo`.
|
||||||
*
|
*
|
||||||
* const files = Deno.readDirSync("/");
|
* const files = Deno.readdirSync("/");
|
||||||
*
|
*
|
||||||
* Requires `allow-read` permission. */
|
* Requires `allow-read` permission. */
|
||||||
export function readDirSync(path: string): FileInfo[] {
|
export function readdirSync(path: string): FileInfo[] {
|
||||||
return res(sendSync("op_read_dir", { path }));
|
return res(sendSync("op_read_dir", { path }));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,9 +29,9 @@ export function readDirSync(path: string): FileInfo[] {
|
||||||
*
|
*
|
||||||
* Reads the directory given by `path` and resolves to an array of `Deno.FileInfo`.
|
* Reads the directory given by `path` and resolves to an array of `Deno.FileInfo`.
|
||||||
*
|
*
|
||||||
* const files = await Deno.readDir("/");
|
* const files = await Deno.readdir("/");
|
||||||
*
|
*
|
||||||
* Requires `allow-read` permission. */
|
* Requires `allow-read` permission. */
|
||||||
export async function readDir(path: string): Promise<FileInfo[]> {
|
export async function readdir(path: string): Promise<FileInfo[]> {
|
||||||
return res(await sendAsync("op_read_dir", { path }));
|
return res(await sendAsync("op_read_dir", { path }));
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,15 +21,15 @@ function assertSameContent(files: FileInfo[]): void {
|
||||||
assertEquals(counter, 2);
|
assertEquals(counter, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
unitTest({ perms: { read: true } }, function readDirSyncSuccess(): void {
|
unitTest({ perms: { read: true } }, function readdirSyncSuccess(): void {
|
||||||
const files = Deno.readDirSync("cli/tests/");
|
const files = Deno.readdirSync("cli/tests/");
|
||||||
assertSameContent(files);
|
assertSameContent(files);
|
||||||
});
|
});
|
||||||
|
|
||||||
unitTest({ perms: { read: false } }, function readDirSyncPerm(): void {
|
unitTest({ perms: { read: false } }, function readdirSyncPerm(): void {
|
||||||
let caughtError = false;
|
let caughtError = false;
|
||||||
try {
|
try {
|
||||||
Deno.readDirSync("tests/");
|
Deno.readdirSync("tests/");
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
caughtError = true;
|
caughtError = true;
|
||||||
assert(e instanceof Deno.errors.PermissionDenied);
|
assert(e instanceof Deno.errors.PermissionDenied);
|
||||||
|
@ -37,12 +37,12 @@ unitTest({ perms: { read: false } }, function readDirSyncPerm(): void {
|
||||||
assert(caughtError);
|
assert(caughtError);
|
||||||
});
|
});
|
||||||
|
|
||||||
unitTest({ perms: { read: true } }, function readDirSyncNotDir(): void {
|
unitTest({ perms: { read: true } }, function readdirSyncNotDir(): void {
|
||||||
let caughtError = false;
|
let caughtError = false;
|
||||||
let src;
|
let src;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
src = Deno.readDirSync("cli/tests/fixture.json");
|
src = Deno.readdirSync("cli/tests/fixture.json");
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
caughtError = true;
|
caughtError = true;
|
||||||
assert(err instanceof Error);
|
assert(err instanceof Error);
|
||||||
|
@ -51,12 +51,12 @@ unitTest({ perms: { read: true } }, function readDirSyncNotDir(): void {
|
||||||
assertEquals(src, undefined);
|
assertEquals(src, undefined);
|
||||||
});
|
});
|
||||||
|
|
||||||
unitTest({ perms: { read: true } }, function readDirSyncNotFound(): void {
|
unitTest({ perms: { read: true } }, function readdirSyncNotFound(): void {
|
||||||
let caughtError = false;
|
let caughtError = false;
|
||||||
let src;
|
let src;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
src = Deno.readDirSync("bad_dir_name");
|
src = Deno.readdirSync("bad_dir_name");
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
caughtError = true;
|
caughtError = true;
|
||||||
assert(err instanceof Deno.errors.NotFound);
|
assert(err instanceof Deno.errors.NotFound);
|
||||||
|
@ -65,19 +65,19 @@ unitTest({ perms: { read: true } }, function readDirSyncNotFound(): void {
|
||||||
assertEquals(src, undefined);
|
assertEquals(src, undefined);
|
||||||
});
|
});
|
||||||
|
|
||||||
unitTest({ perms: { read: true } }, async function readDirSuccess(): Promise<
|
unitTest({ perms: { read: true } }, async function readdirSuccess(): Promise<
|
||||||
void
|
void
|
||||||
> {
|
> {
|
||||||
const files = await Deno.readDir("cli/tests/");
|
const files = await Deno.readdir("cli/tests/");
|
||||||
assertSameContent(files);
|
assertSameContent(files);
|
||||||
});
|
});
|
||||||
|
|
||||||
unitTest({ perms: { read: false } }, async function readDirPerm(): Promise<
|
unitTest({ perms: { read: false } }, async function readdirPerm(): Promise<
|
||||||
void
|
void
|
||||||
> {
|
> {
|
||||||
let caughtError = false;
|
let caughtError = false;
|
||||||
try {
|
try {
|
||||||
await Deno.readDir("tests/");
|
await Deno.readdir("tests/");
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
caughtError = true;
|
caughtError = true;
|
||||||
assert(e instanceof Deno.errors.PermissionDenied);
|
assert(e instanceof Deno.errors.PermissionDenied);
|
||||||
|
|
|
@ -385,7 +385,7 @@ unitTest(
|
||||||
unitTest(
|
unitTest(
|
||||||
{ perms: { read: true } },
|
{ perms: { read: true } },
|
||||||
async function assertAllUnitTestFilesImported(): Promise<void> {
|
async function assertAllUnitTestFilesImported(): Promise<void> {
|
||||||
const directoryTestFiles = Deno.readDirSync("./cli/js")
|
const directoryTestFiles = Deno.readdirSync("./cli/js")
|
||||||
.map(k => k.name)
|
.map(k => k.name)
|
||||||
.filter(file => file!.endsWith("_test.ts"));
|
.filter(file => file!.endsWith("_test.ts"));
|
||||||
const unitTestsFile: Uint8Array = Deno.readFileSync(
|
const unitTestsFile: Uint8Array = Deno.readFileSync(
|
||||||
|
|
|
@ -157,7 +157,7 @@ async function copyDir(
|
||||||
await Deno.utime(dest, srcStatInfo.accessed, srcStatInfo.modified);
|
await Deno.utime(dest, srcStatInfo.accessed, srcStatInfo.modified);
|
||||||
}
|
}
|
||||||
|
|
||||||
const files = await Deno.readDir(src);
|
const files = await Deno.readdir(src);
|
||||||
|
|
||||||
for (const file of files) {
|
for (const file of files) {
|
||||||
assert(file.name != null, "file.name must be set");
|
assert(file.name != null, "file.name must be set");
|
||||||
|
@ -188,7 +188,7 @@ function copyDirSync(src: string, dest: string, options: CopyOptions): void {
|
||||||
Deno.utimeSync(dest, srcStatInfo.accessed, srcStatInfo.modified);
|
Deno.utimeSync(dest, srcStatInfo.accessed, srcStatInfo.modified);
|
||||||
}
|
}
|
||||||
|
|
||||||
const files = Deno.readDirSync(src);
|
const files = Deno.readdirSync(src);
|
||||||
|
|
||||||
for (const file of files) {
|
for (const file of files) {
|
||||||
assert(file.name != null, "file.name must be set");
|
assert(file.name != null, "file.name must be set");
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
|
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
|
||||||
import { join } from "../path/mod.ts";
|
import { join } from "../path/mod.ts";
|
||||||
const { readDir, readDirSync, mkdir, mkdirSync, remove, removeSync } = Deno;
|
const { readdir, readdirSync, mkdir, mkdirSync, remove, removeSync } = Deno;
|
||||||
/**
|
/**
|
||||||
* Ensures that a directory is empty.
|
* Ensures that a directory is empty.
|
||||||
* Deletes directory contents if the directory is not empty.
|
* Deletes directory contents if the directory is not empty.
|
||||||
|
@ -10,7 +10,7 @@ const { readDir, readDirSync, mkdir, mkdirSync, remove, removeSync } = Deno;
|
||||||
*/
|
*/
|
||||||
export async function emptyDir(dir: string): Promise<void> {
|
export async function emptyDir(dir: string): Promise<void> {
|
||||||
try {
|
try {
|
||||||
const items = await readDir(dir);
|
const items = await readdir(dir);
|
||||||
|
|
||||||
while (items.length) {
|
while (items.length) {
|
||||||
const item = items.shift();
|
const item = items.shift();
|
||||||
|
@ -38,7 +38,7 @@ export async function emptyDir(dir: string): Promise<void> {
|
||||||
*/
|
*/
|
||||||
export function emptyDirSync(dir: string): void {
|
export function emptyDirSync(dir: string): void {
|
||||||
try {
|
try {
|
||||||
const items = readDirSync(dir);
|
const items = readdirSync(dir);
|
||||||
|
|
||||||
// if directory already exist. then remove it's child item.
|
// if directory already exist. then remove it's child item.
|
||||||
while (items.length) {
|
while (items.length) {
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
// Copyright 2009 The Go Authors. All rights reserved. BSD license.
|
// Copyright 2009 The Go Authors. All rights reserved. BSD license.
|
||||||
import { unimplemented, assert } from "../testing/asserts.ts";
|
import { unimplemented, assert } from "../testing/asserts.ts";
|
||||||
import { join } from "../path/mod.ts";
|
import { join } from "../path/mod.ts";
|
||||||
const { readDir, readDirSync, stat, statSync } = Deno;
|
const { readdir, readdirSync, stat, statSync } = Deno;
|
||||||
type FileInfo = Deno.FileInfo;
|
type FileInfo = Deno.FileInfo;
|
||||||
|
|
||||||
export interface WalkOptions {
|
export interface WalkOptions {
|
||||||
|
@ -79,7 +79,7 @@ export async function* walk(
|
||||||
if (maxDepth < 1 || !include(root, undefined, undefined, skip)) {
|
if (maxDepth < 1 || !include(root, undefined, undefined, skip)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const ls: FileInfo[] = await readDir(root);
|
const ls: FileInfo[] = await readdir(root);
|
||||||
for (const info of ls) {
|
for (const info of ls) {
|
||||||
if (info.isSymlink()) {
|
if (info.isSymlink()) {
|
||||||
if (followSymlinks) {
|
if (followSymlinks) {
|
||||||
|
@ -133,7 +133,7 @@ export function* walkSync(
|
||||||
if (maxDepth < 1 || !include(root, undefined, undefined, skip)) {
|
if (maxDepth < 1 || !include(root, undefined, undefined, skip)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const ls: FileInfo[] = readDirSync(root);
|
const ls: FileInfo[] = readdirSync(root);
|
||||||
for (const info of ls) {
|
for (const info of ls) {
|
||||||
if (info.isSymlink()) {
|
if (info.isSymlink()) {
|
||||||
if (followSymlinks) {
|
if (followSymlinks) {
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
// TODO Add tests like these:
|
// TODO Add tests like these:
|
||||||
// https://github.com/indexzero/http-server/blob/master/test/http-server-test.js
|
// https://github.com/indexzero/http-server/blob/master/test/http-server-test.js
|
||||||
|
|
||||||
const { args, stat, readDir, open, exit } = Deno;
|
const { args, stat, readdir, open, exit } = Deno;
|
||||||
import { posix } from "../path/mod.ts";
|
import { posix } from "../path/mod.ts";
|
||||||
import { listenAndServe, ServerRequest, Response } from "./server.ts";
|
import { listenAndServe, ServerRequest, Response } from "./server.ts";
|
||||||
import { parse } from "../flags/mod.ts";
|
import { parse } from "../flags/mod.ts";
|
||||||
|
@ -113,14 +113,14 @@ async function serveFile(
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: simplify this after deno.stat and deno.readDir are fixed
|
// TODO: simplify this after deno.stat and deno.readdir are fixed
|
||||||
async function serveDir(
|
async function serveDir(
|
||||||
req: ServerRequest,
|
req: ServerRequest,
|
||||||
dirPath: string
|
dirPath: string
|
||||||
): Promise<Response> {
|
): Promise<Response> {
|
||||||
const dirUrl = `/${posix.relative(target, dirPath)}`;
|
const dirUrl = `/${posix.relative(target, dirPath)}`;
|
||||||
const listEntry: EntryInfo[] = [];
|
const listEntry: EntryInfo[] = [];
|
||||||
const fileInfos = await readDir(dirPath);
|
const fileInfos = await readdir(dirPath);
|
||||||
for (const fileInfo of fileInfos) {
|
for (const fileInfo of fileInfos) {
|
||||||
const filePath = posix.join(dirPath, fileInfo.name ?? "");
|
const filePath = posix.join(dirPath, fileInfo.name ?? "");
|
||||||
const fileUrl = posix.join(dirUrl, fileInfo.name ?? "");
|
const fileUrl = posix.join(dirUrl, fileInfo.name ?? "");
|
||||||
|
|
|
@ -29,7 +29,7 @@ export default class Dir {
|
||||||
return new Promise(async (resolve, reject) => {
|
return new Promise(async (resolve, reject) => {
|
||||||
try {
|
try {
|
||||||
if (this.initializationOfDirectoryFilesIsRequired()) {
|
if (this.initializationOfDirectoryFilesIsRequired()) {
|
||||||
const denoFiles: Deno.FileInfo[] = await Deno.readDir(this.path);
|
const denoFiles: Deno.FileInfo[] = await Deno.readdir(this.path);
|
||||||
this.files = denoFiles.map(file => new Dirent(file));
|
this.files = denoFiles.map(file => new Dirent(file));
|
||||||
}
|
}
|
||||||
const nextFile = this.files.pop();
|
const nextFile = this.files.pop();
|
||||||
|
@ -55,7 +55,7 @@ export default class Dir {
|
||||||
readSync(): Dirent | null {
|
readSync(): Dirent | null {
|
||||||
if (this.initializationOfDirectoryFilesIsRequired()) {
|
if (this.initializationOfDirectoryFilesIsRequired()) {
|
||||||
this.files.push(
|
this.files.push(
|
||||||
...Deno.readDirSync(this.path).map(file => new Dirent(file))
|
...Deno.readdirSync(this.path).map(file => new Dirent(file))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
const dirent: Dirent | undefined = this.files.pop();
|
const dirent: Dirent | undefined = this.files.pop();
|
||||||
|
|
4
tools/testdata/unit_test_output1.txt
vendored
4
tools/testdata/unit_test_output1.txt
vendored
|
@ -133,9 +133,9 @@ test readFileSyncNotFound_permW0N0E0
|
||||||
... [32mok[0m
|
... [32mok[0m
|
||||||
test readFileSuccess_permW0N0E0
|
test readFileSuccess_permW0N0E0
|
||||||
... [32mok[0m
|
... [32mok[0m
|
||||||
test readDirSyncNotDir_permW0N0E0
|
test readdirSyncNotDir_permW0N0E0
|
||||||
... [32mok[0m
|
... [32mok[0m
|
||||||
test readDirSyncNotFound_permW0N0E0
|
test readdirSyncNotFound_permW0N0E0
|
||||||
... [32mok[0m
|
... [32mok[0m
|
||||||
test writeFileSyncPerm_permW0N0E0
|
test writeFileSyncPerm_permW0N0E0
|
||||||
... [32mok[0m
|
... [32mok[0m
|
||||||
|
|
4
tools/testdata/unit_test_output3.txt
vendored
4
tools/testdata/unit_test_output3.txt
vendored
|
@ -163,9 +163,9 @@ test readFileSyncNotFound_permW0N0E0
|
||||||
... [32mok[0m
|
... [32mok[0m
|
||||||
test readFileSuccess_permW0N0E0
|
test readFileSuccess_permW0N0E0
|
||||||
... [32mok[0m
|
... [32mok[0m
|
||||||
test readDirSyncNotDir_permW0N0E0
|
test readdirSyncNotDir_permW0N0E0
|
||||||
... [32mok[0m
|
... [32mok[0m
|
||||||
test readDirSyncNotFound_permW0N0E0
|
test readdirSyncNotFound_permW0N0E0
|
||||||
... [32mok[0m
|
... [32mok[0m
|
||||||
test writeFileSyncPerm_permW0N0E0
|
test writeFileSyncPerm_permW0N0E0
|
||||||
... [32mok[0m
|
... [32mok[0m
|
||||||
|
|
Loading…
Reference in a new issue