Skip to content
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
squash! update error handling in promise APIs
  • Loading branch information
joyeecheung committed Feb 7, 2018
commit 76bad33b43b6a5dfebc7c7eaf119706f85ed91f3
63 changes: 21 additions & 42 deletions lib/fs.js
Original file line number Diff line number Diff line change
Expand Up @@ -2706,8 +2706,7 @@ async function readFileHandle(filehandle, options) {
// thrown synchronously
const promises = {
async access(path, mode = fs.F_OK) {
handleError((path = getPathFromURL(path)));
nullCheck(path);
path = getPathFromURL(path);
validatePath(path);

mode = mode | 0;
Expand All @@ -2716,10 +2715,8 @@ const promises = {
},

async copyFile(src, dest, flags) {
handleError((src = getPathFromURL(src)));
handleError((dest = getPathFromURL(dest)));
nullCheck(src);
nullCheck(dest);
src = getPathFromURL(src);
dest = getPathFromURL(dest);
validatePath(src, 'src');
validatePath(dest, 'dest');
flags = flags | 0;
Expand All @@ -2732,8 +2729,7 @@ const promises = {
// promises.open() uses the fs.FileHandle class.
async open(path, flags, mode) {
mode = modeNum(mode, 0o666);
handleError((path = getPathFromURL(path)));
nullCheck(path);
path = getPathFromURL(path);
validatePath(path);
validateUint32(mode, 'mode');
return new FileHandle(
Expand Down Expand Up @@ -2800,10 +2796,8 @@ const promises = {
},

async rename(oldPath, newPath) {
handleError((oldPath = getPathFromURL(oldPath)));
handleError((newPath = getPathFromURL(newPath)));
nullCheck(oldPath);
nullCheck(newPath);
oldPath = getPathFromURL(oldPath);
newPath = getPathFromURL(newPath);
validatePath(oldPath, 'oldPath');
validatePath(newPath, 'newPath');
return binding.rename(pathModule.toNamespacedPath(oldPath),
Expand All @@ -2823,8 +2817,7 @@ const promises = {
},

async rmdir(path) {
handleError((path = getPathFromURL(path)));
nullCheck(path);
path = getPathFromURL(path);
validatePath(path);
return binding.rmdir(pathModule.toNamespacedPath(path), kUsePromises);
},
Expand All @@ -2841,37 +2834,32 @@ const promises = {

async mkdir(path, mode) {
mode = modeNum(mode, 0o777);
handleError((path = getPathFromURL(path)));
nullCheck(path);
path = getPathFromURL(path);
validatePath(path);
validateUint32(mode, 'mode');
return binding.mkdir(pathModule.toNamespacedPath(path), mode, kUsePromises);
},

async readdir(path, options) {
options = getOptions(options, {});
handleError((path = getPathFromURL(path)));
nullCheck(path);
path = getPathFromURL(path);
validatePath(path);
return binding.readdir(pathModule.toNamespacedPath(path),
options.encoding, kUsePromises);
},

async readlink(path, options) {
options = getOptions(options, {});
handleError((path = getPathFromURL(path)));
nullCheck(path);
path = getPathFromURL(path);
validatePath(path, 'oldPath');
return binding.readlink(pathModule.toNamespacedPath(path),
options.encoding, kUsePromises);
},

async symlink(target, path, type_) {
const type = (typeof type_ === 'string' ? type_ : null);
handleError((target = getPathFromURL(target)));
handleError((path = getPathFromURL(path)));
nullCheck(target);
nullCheck(path);
>
path = getPathFromURL(path);
validatePath(target, 'target');
validatePath(path);
return binding.symlink(preprocessSymlinkDestination(target, type, path),
Expand All @@ -2886,26 +2874,22 @@ const promises = {
},

async lstat(path) {
handleError((path = getPathFromURL(path)));
nullCheck(path);
path = getPathFromURL(path);
validatePath(path);
return statsFromValues(
await binding.lstat(pathModule.toNamespacedPath(path), kUsePromises));
},

async stat(path) {
handleError((path = getPathFromURL(path)));
nullCheck(path);
path = getPathFromURL(path);
validatePath(path);
return statsFromValues(
await binding.stat(pathModule.toNamespacedPath(path), kUsePromises));
},

async link(existingPath, newPath) {
handleError((existingPath = getPathFromURL(existingPath)));
handleError((newPath = getPathFromURL(newPath)));
nullCheck(existingPath);
nullCheck(newPath);
existingPath = getPathFromURL(existingPath);
newPath = getPathFromURL(newPath);
validatePath(existingPath, 'existingPath');
validatePath(newPath, 'newPath');
return binding.link(pathModule.toNamespacedPath(existingPath),
Expand All @@ -2914,8 +2898,7 @@ const promises = {
},

async unlink(path) {
handleError((path = getPathFromURL(path)));
nullCheck(path);
path = getPathFromURL(path);
validatePath(path);
return binding.unlink(pathModule.toNamespacedPath(path), kUsePromises);
},
Expand All @@ -2930,8 +2913,7 @@ const promises = {
},

async chmod(path, mode) {
handleError((path = getPathFromURL(path)));
nullCheck(path);
path = getPathFromURL(path);
validatePath(path);
mode = modeNum(mode);
validateUint32(mode, 'mode');
Expand Down Expand Up @@ -2964,8 +2946,7 @@ const promises = {
},

async chown(path, uid, gid) {
handleError((path = getPathFromURL(path)));
nullCheck(path);
path = getPathFromURL(path);
validatePath(path);
validateUint32(uid, 'uid');
validateUint32(gid, 'gid');
Expand All @@ -2974,8 +2955,7 @@ const promises = {
},

async utimes(path, atime, mtime) {
handleError((path = getPathFromURL(path)));
nullCheck(path);
path = getPathFromURL(path);
validatePath(path);
return binding.utimes(pathModule.toNamespacedPath(path),
toUnixTimestamp(atime),
Expand All @@ -2992,8 +2972,7 @@ const promises = {

async realpath(path, options) {
options = getOptions(options, {});
handleError((path = getPathFromURL(path)));
nullCheck(path);
path = getPathFromURL(path);
validatePath(path);
return binding.realpath(path, options.encoding, kUsePromises);
},
Expand Down