From f4129c04b2956e70d2d93879b92f1b03b6fa9c55 Mon Sep 17 00:00:00 2001 From: Phil Kunz Date: Thu, 27 Jun 2019 10:42:35 +0200 Subject: [PATCH] fix(core): update --- test/test.ts | 11 +++++------ test/testassets/temp/mytest.yaml | 4 ++++ test/testassets/temp/testfile1.txt | 0 test/testassets/temp/testfile2.txt | 0 ts/smartfile.fs.ts | 23 +++++++++++++---------- 5 files changed, 22 insertions(+), 16 deletions(-) create mode 100644 test/testassets/temp/mytest.yaml delete mode 100644 test/testassets/temp/testfile1.txt delete mode 100644 test/testassets/temp/testfile2.txt diff --git a/test/test.ts b/test/test.ts index c10b948..0cb1349 100644 --- a/test/test.ts +++ b/test/test.ts @@ -59,15 +59,15 @@ tap.test('.fs.fileTreeToObject -> should read a file tree into an Object', async }); tap.test('.fs.copy() -> should copy a directory', async () => { - smartfile.fs.copy('./test/testassets/testfolder/', './test/testassets/temp/'); + await smartfile.fs.copy('./test/testassets/testfolder/', './test/testassets/temp/'); }); tap.test('.fs.copy() -> should copy a file', async () => { - smartfile.fs.copy('./test/testassets/mytest.yaml', './test/testassets/temp/'); + await smartfile.fs.copy('./test/testassets/mytest.yaml', './test/testassets/temp/mytest.yaml'); }); tap.test('.fs.copy() -> should copy a file and rename it', async () => { - smartfile.fs.copy('./test/testassets/mytest.yaml', './test/testassets/temp/mytestRenamed.yaml'); + await smartfile.fs.copy('./test/testassets/mytest.yaml', './test/testassets/temp/mytestRenamed.yaml'); }); tap.test('.fs.remove() -> should remove an entire directory', async () => {}); @@ -145,14 +145,13 @@ tap.test( ); tap.test('.remote.toString() -> should load a remote file to a variable', async () => { - let responseString = await smartfile.remote.toString( - 'https://raw.githubusercontent.com/pushrocks/smartfile/master/test/mytest.txt' + const responseString = await smartfile.remote.toString( + 'https://raw.githubusercontent.com/pushrocks/smartfile/master/test/testassets/mytest.txt' ); expect(responseString).to.equal('Some TestString &&%$'); }); tap.test('.remote.toString() -> should reject a Promise when the link is false', async tools => { - tools.returnError; await smartfile.remote.toString('https://push.rocks/doesnotexist.txt').catch(err => { return expect(err.message).to.equal( 'could not get remote file from https://push.rocks/doesnotexist.txt' diff --git a/test/testassets/temp/mytest.yaml b/test/testassets/temp/mytest.yaml new file mode 100644 index 0000000..8ace546 --- /dev/null +++ b/test/testassets/temp/mytest.yaml @@ -0,0 +1,4 @@ +key1: this works +key2: this works too +key3: + nestedkey1: hello \ No newline at end of file diff --git a/test/testassets/temp/testfile1.txt b/test/testassets/temp/testfile1.txt deleted file mode 100644 index e69de29..0000000 diff --git a/test/testassets/temp/testfile2.txt b/test/testassets/temp/testfile2.txt deleted file mode 100644 index e69de29..0000000 diff --git a/ts/smartfile.fs.ts b/ts/smartfile.fs.ts index 0624dc1..1c8a286 100644 --- a/ts/smartfile.fs.ts +++ b/ts/smartfile.fs.ts @@ -13,7 +13,7 @@ import * as memory from './smartfile.memory'; * @param filePath * @returns {boolean} */ -export let fileExistsSync = function(filePath): boolean { +export const fileExistsSync = (filePath): boolean => { let fileExistsBool: boolean = false; try { plugins.fsExtra.readFileSync(filePath); @@ -29,7 +29,7 @@ export let fileExistsSync = function(filePath): boolean { * @param filePath * @returns {any} */ -export let fileExists = (filePath): Promise => { +export let fileExists = async (filePath): Promise => { const done = plugins.smartpromise.defer(); plugins.fs.access(filePath, 4, err => { err ? done.resolve(false) : done.resolve(true); @@ -40,7 +40,7 @@ export let fileExists = (filePath): Promise => { /** * Checks if given path points to an existing directory */ -export let isDirectory = (pathArg): boolean => { +export const isDirectory = (pathArg): boolean => { try { return plugins.fsExtra.statSync(pathArg).isDirectory(); } catch (err) { @@ -51,7 +51,7 @@ export let isDirectory = (pathArg): boolean => { /** * Checks if a given path points to an existing file */ -export let isFile = function(pathArg): boolean { +export const isFile = (pathArg): boolean => { return plugins.fsExtra.statSync(pathArg).isFile(); }; @@ -62,10 +62,13 @@ export let isFile = function(pathArg): boolean { /** * copies a file from A to B on the local disk */ -export let copy = function(fromArg: string, toArg: string) { - let done = plugins.smartpromise.defer(); - plugins.fsExtra.copy(fromArg, toArg, {}, function() { - done.resolve(); +export const copy = async (fromArg: string, toArg: string): Promise => { + const done = plugins.smartpromise.defer(); + plugins.fsExtra.copy(fromArg, toArg, {}, (err) => { + if (err) { + throw new Error(`Could not copy from ${fromArg} to ${toArg}: ${err}`); + } + done.resolve(true); }); return done.promise; }; @@ -73,7 +76,7 @@ export let copy = function(fromArg: string, toArg: string) { /** * copies a file SYNCHRONOUSLY from A to B on the local disk */ -export let copySync = function(fromArg: string, toArg: string): boolean { +export const copySync = (fromArg: string, toArg: string): boolean => { plugins.fsExtra.copySync(fromArg, toArg); return true; }; @@ -205,7 +208,7 @@ export let toObjectSync = function(filePathArg, fileTypeArg?) { * @param filePath * @returns {string|Buffer|any} */ -export let toStringSync = function(filePath: string): string { +export const toStringSync = (filePath: string): string => { const fileString: string = plugins.fsExtra.readFileSync(filePath, 'utf8'); return fileString; };