Skip to content

Commit

Permalink
Fix comment issues
Browse files Browse the repository at this point in the history
  • Loading branch information
Konstantin Mamaev committed Apr 6, 2019
1 parent b1efa54 commit 3f3dddf
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 42 deletions.
51 changes: 30 additions & 21 deletions src/lib/get-file.js
Expand Up @@ -17,26 +17,32 @@ const readFileAsync = (filePath) => {
};

const existFileAsync = (filePath) => {
return new Promise((resolve, reject) =>
return new Promise((resolve) =>
fs.access(filePath, (err) => {
if (err) {
reject();
}
resolve(filePath);
resolve(!err);
})
);
};

const oneSuccess = (promises) => {
return Promise.all(promises.map((p) => {
return p.then(
(val) => Promise.reject(val),
(err) => Promise.resolve(err)
);
})).then(
(errors) => Promise.reject(errors),
(val) => Promise.resolve(val)
);
const findExistsPath = (paths) => {
let resolved = false;

return new Promise((resolve, reject) => {
const findPromises = paths.map((path) => {
return existFileAsync(path).then((isExists) => {
if (!resolved && isExists) {
resolved = true;
resolve(path);
}
});
});

Promise.all(findPromises).then(() => {
if (!resolved) {
reject();
}
});
});
};

/**
Expand All @@ -52,13 +58,16 @@ const getFile = (asset, options, dir, warn) => {
? getPathByBasePath(options.basePath, dir.from, asset.pathname)
: [asset.absolutePath];

return oneSuccess(paths.map((path) => existFileAsync(path)))
return findExistsPath(paths)
.then((path) => readFileAsync(path)
.then((contents) => ({
path,
contents,
mimeType: mime.getType(path)
})))
.then((contents) => {
return {
path,
contents,
mimeType: mime.getType(path)
};
})
)
.catch(() => {
warn(`Can't read file '${paths.join()}', ignoring`);

Expand Down
25 changes: 4 additions & 21 deletions src/type/copy.js
Expand Up @@ -31,30 +31,13 @@ const createDirAsync = (dirPath) => {

const writeFileAsync = (file, dest) => {
return new Promise((resolve, reject) => {
fs.open(dest, 'wx', (err, fd) => {
fs.writeFile(dest, file.contents, { flag: 'wx' }, (err) => {
if (err) {
if (err.code === 'EEXIST') {
resolve();
}

reject(err);
err.code === 'EEXIST' ? resolve() : reject(err);
}

resolve(fd);
});
})
.then((fd) => {
if (!fd) return;

return new Promise((resolve, reject) => {
fs.writeFile(dest, file.contents, (err) => {
if (err) {
reject(err);
}
resolve();
});
});
resolve();
});
});
};

/**
Expand Down

0 comments on commit 3f3dddf

Please sign in to comment.