Skip to content

Commit 804556c

Browse files
committed
fix(cp): replace node primordials
1 parent 496205f commit 804556c

File tree

1 file changed

+7
-19
lines changed

1 file changed

+7
-19
lines changed

lib/cp/polyfill.js

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,6 @@
1212
// - throws ENOTDIR when rmdir gets an ENOENT for a path that exists in Windows
1313
'use strict';
1414

15-
const {
16-
ArrayPrototypeEvery,
17-
ArrayPrototypeFilter,
18-
Boolean,
19-
PromiseAll,
20-
PromisePrototypeCatch,
21-
PromisePrototypeThen,
22-
PromiseReject,
23-
SafeArrayIterator,
24-
StringPrototypeSplit,
25-
} = primordials;
2615
const {
2716
codes: {
2817
ERR_FS_CP_DIR_TO_NON_DIR,
@@ -134,13 +123,13 @@ function getStats(src, dest, opts) {
134123
const statFunc = opts.dereference ?
135124
(file) => stat(file, { bigint: true }) :
136125
(file) => lstat(file, { bigint: true });
137-
return PromiseAll(new SafeArrayIterator([
126+
return Promise.all([
138127
statFunc(src),
139-
PromisePrototypeCatch(statFunc(dest), (err) => {
128+
statFunc(dest).catch((err) => {
140129
if (err.code === 'ENOENT') return null;
141130
throw err;
142131
}),
143-
]));
132+
]);
144133
}
145134

146135
async function checkParentDir(destStat, src, dest, opts) {
@@ -152,10 +141,9 @@ async function checkParentDir(destStat, src, dest, opts) {
152141
}
153142

154143
function pathExists(dest) {
155-
return PromisePrototypeThen(
156-
stat(dest),
144+
return stat(dest).then(
157145
() => true,
158-
(err) => (err.code === 'ENOENT' ? false : PromiseReject(err)));
146+
(err) => (err.code === 'ENOENT' ? false : Promise.reject(err)));
159147
}
160148

161149
// Recursively check if dest parent is a subdirectory of src.
@@ -187,14 +175,14 @@ async function checkParentPaths(src, srcStat, dest) {
187175
}
188176

189177
const normalizePathToArray = (path) =>
190-
ArrayPrototypeFilter(StringPrototypeSplit(resolve(path), sep), Boolean);
178+
resolve(path).split(sep).filter(Boolean);
191179

192180
// Return true if dest is a subdir of src, otherwise false.
193181
// It only checks the path strings.
194182
function isSrcSubdir(src, dest) {
195183
const srcArr = normalizePathToArray(src);
196184
const destArr = normalizePathToArray(dest);
197-
return ArrayPrototypeEvery(srcArr, (cur, i) => destArr[i] === cur);
185+
return srcArr.every((cur, i) => destArr[i] === cur);
198186
}
199187

200188
async function handleFilter(onInclude, destStat, src, dest, opts, cb) {

0 commit comments

Comments
 (0)