From c6dd507f0f1a9ae46f2424b142a3615c54346499 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20G=C3=BCnther?= Date: Tue, 1 Dec 2020 09:56:02 +0100 Subject: [PATCH] new assertion directoryNotEmpty --- assertions/directoryNotEmpty.ts | 9 +++++++++ assertions/index.ts | 6 ++++++ 2 files changed, 15 insertions(+) create mode 100644 assertions/directoryNotEmpty.ts diff --git a/assertions/directoryNotEmpty.ts b/assertions/directoryNotEmpty.ts new file mode 100644 index 00000000..2b9c33e3 --- /dev/null +++ b/assertions/directoryNotEmpty.ts @@ -0,0 +1,9 @@ +import * as fs from "fs"; + +export class DirectoryNotEmpty { + public static run(directory: string): void { + if(fs.readdirSync(directory).length == 0) { + throw new Error("directory " + directory + " is empty"); + } + } +} \ No newline at end of file diff --git a/assertions/index.ts b/assertions/index.ts index e1607dbf..691dbfbb 100644 --- a/assertions/index.ts +++ b/assertions/index.ts @@ -5,6 +5,7 @@ import { NoErrorCode } from "./noErrorCode"; import { NoException } from "./noException"; import { DirectoryExist } from "./directoryExist"; import { FileExist } from "./fileExist"; +import { DirectoryNotEmpty } from "./directoryNotEmpty"; export class Assertions { @@ -24,6 +25,11 @@ export class Assertions { return this; } + public directoryNotEmpty(directory: string): Assertions { + DirectoryNotEmpty.run(directory); + return this; + } + public fileExits(filepath: string): Assertions { FileExist.run(filepath); return this;