12
12
// - throws ENOTDIR when rmdir gets an ENOENT for a path that exists in Windows
13
13
'use strict' ;
14
14
15
- const {
16
- ArrayPrototypeEvery,
17
- ArrayPrototypeFilter,
18
- Boolean,
19
- PromiseAll,
20
- PromisePrototypeCatch,
21
- PromisePrototypeThen,
22
- PromiseReject,
23
- SafeArrayIterator,
24
- StringPrototypeSplit,
25
- } = primordials ;
26
15
const {
27
16
codes : {
28
17
ERR_FS_CP_DIR_TO_NON_DIR ,
@@ -134,13 +123,13 @@ function getStats(src, dest, opts) {
134
123
const statFunc = opts . dereference ?
135
124
( file ) => stat ( file , { bigint : true } ) :
136
125
( file ) => lstat ( file , { bigint : true } ) ;
137
- return PromiseAll ( new SafeArrayIterator ( [
126
+ return Promise . all ( [
138
127
statFunc ( src ) ,
139
- PromisePrototypeCatch ( statFunc ( dest ) , ( err ) => {
128
+ statFunc ( dest ) . catch ( ( err ) => {
140
129
if ( err . code === 'ENOENT' ) return null ;
141
130
throw err ;
142
131
} ) ,
143
- ] ) ) ;
132
+ ] ) ;
144
133
}
145
134
146
135
async function checkParentDir ( destStat , src , dest , opts ) {
@@ -152,10 +141,9 @@ async function checkParentDir(destStat, src, dest, opts) {
152
141
}
153
142
154
143
function pathExists ( dest ) {
155
- return PromisePrototypeThen (
156
- stat ( dest ) ,
144
+ return stat ( dest ) . then (
157
145
( ) => true ,
158
- ( err ) => ( err . code === 'ENOENT' ? false : PromiseReject ( err ) ) ) ;
146
+ ( err ) => ( err . code === 'ENOENT' ? false : Promise . reject ( err ) ) ) ;
159
147
}
160
148
161
149
// Recursively check if dest parent is a subdirectory of src.
@@ -187,14 +175,14 @@ async function checkParentPaths(src, srcStat, dest) {
187
175
}
188
176
189
177
const normalizePathToArray = ( path ) =>
190
- ArrayPrototypeFilter ( StringPrototypeSplit ( resolve ( path ) , sep ) , Boolean ) ;
178
+ resolve ( path ) . split ( sep ) . filter ( Boolean ) ;
191
179
192
180
// Return true if dest is a subdir of src, otherwise false.
193
181
// It only checks the path strings.
194
182
function isSrcSubdir ( src , dest ) {
195
183
const srcArr = normalizePathToArray ( src ) ;
196
184
const destArr = normalizePathToArray ( dest ) ;
197
- return ArrayPrototypeEvery ( srcArr , ( cur , i ) => destArr [ i ] === cur ) ;
185
+ return srcArr . every ( ( cur , i ) => destArr [ i ] === cur ) ;
198
186
}
199
187
200
188
async function handleFilter ( onInclude , destStat , src , dest , opts , cb ) {
0 commit comments