summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2019-01-17 13:14:48 -0500
committerGitHub <noreply@github.com>2019-01-17 13:14:48 -0500
commit15f372c5490e85cff66f9b2cca2a8868655f4ddb (patch)
tree5b56414f4f1f68af69790da3c82f00cea995e47d
parentb2e54bad61b37f3a186dd72237c694ada77ab94f (diff)
Remove mkdirp - deno.mkdir is already recursive (denoland/deno_std#118)
Original: https://github.com/denoland/deno_std/commit/4283c26b8930ca80e5babca3337b5431f16334d0
-rw-r--r--fs/mkdirp.ts43
-rw-r--r--fs/mkdirp_test.ts30
-rwxr-xr-xtest.ts1
3 files changed, 0 insertions, 74 deletions
diff --git a/fs/mkdirp.ts b/fs/mkdirp.ts
deleted file mode 100644
index 627166043..000000000
--- a/fs/mkdirp.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * # deno-mkdirp
- *
- * `mkdir -p` 4 `deno`.
- *
- * ## Import
- *
- * ```ts
- * import { mkdirp } from "https://deno.land/x/std/fs/mkdirp.ts";
- * ```
- *
- * ## API
- *
- * Same as [`deno.mkdir`](https://deno.land/typedoc/index.html#mkdir).
- *
- * ### `mkdirp(path: string, mode?: number) : Promise<void>`
- *
- * Creates directories if they do not already exist and makes parent directories as needed.
- */
-import { ErrorKind, FileInfo, lstat, mkdir, platform } from "deno";
-
-const PATH_SEPARATOR: string = platform.os === "win" ? "\\" : "/";
-
-export async function mkdirp(path: string, mode?: number): Promise<void> {
- for (
- let parts: string[] = path.split(/\/|\\/),
- parts_len: number = parts.length,
- level: string,
- info: FileInfo,
- i: number = 0;
- i < parts_len;
- i++
- ) {
- level = parts.slice(0, i + 1).join(PATH_SEPARATOR);
- try {
- info = await lstat(level);
- if (!info.isDirectory()) throw Error(`${level} is not a directory`);
- } catch (err) {
- if (err.kind !== ErrorKind.NotFound) throw err;
- await mkdir(level, mode);
- }
- }
-}
diff --git a/fs/mkdirp_test.ts b/fs/mkdirp_test.ts
deleted file mode 100644
index a3a4fac03..000000000
--- a/fs/mkdirp_test.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-import { cwd, lstat, makeTempDirSync, removeAll, FileInfo } from "deno";
-import { test, assert } from "../testing/mod.ts";
-import { mkdirp } from "./mkdirp.ts";
-
-let root: string = `${cwd()}/${Date.now()}`; //makeTempDirSync();
-
-test(async function createsNestedDirs(): Promise<void> {
- const leaf: string = `${root}/levelx/levely`;
- await mkdirp(leaf);
- const info: FileInfo = await lstat(leaf);
- assert(info.isDirectory());
- await removeAll(root);
-});
-
-test(async function handlesAnyPathSeparator(): Promise<void> {
- const leaf: string = `${root}\\levelx\\levely`;
- await mkdirp(leaf);
- const info: FileInfo = await lstat(leaf.replace(/\\/g, "/"));
- assert(info.isDirectory());
- await removeAll(root);
-});
-
-test(async function failsNonDir(): Promise<void> {
- try {
- await mkdirp("./test.ts/fest.fs");
- } catch (err) {
- // TODO: assert caught DenoError of kind NOT_A_DIRECTORY or similar
- assert(err);
- }
-});
diff --git a/test.ts b/test.ts
index a128ce0a1..33a6f8d9b 100755
--- a/test.ts
+++ b/test.ts
@@ -3,7 +3,6 @@ import "colors/test.ts";
import "datetime/test.ts";
import "examples/test.ts";
import "flags/test.ts";
-import "fs/mkdirp_test.ts";
import "fs/path/basename_test.ts";
import "fs/path/dirname_test.ts";
import "fs/path/extname_test.ts";