| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 1f6c4e8 commit d4a6f2c
2 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -32,7 +32,7 @@ const { | |||
| 32 | 32 | existsSync, | |
| 33 | 33 | lstatSync, | |
| 34 | 34 | mkdirSync, | |
| 35 | - readdirSync, | ||
| 35 | + opendirSync, | ||
| 36 | 36 | readlinkSync, | |
| 37 | 37 | statSync, | |
| 38 | 38 | symlinkSync, | |
@@ -275,14 +275,22 @@ function mkDirAndCopy(srcMode, src, dest, opts) { | |||
| 275 | 275 | } | |
| 276 | 276 | ||
| 277 | 277 | function copyDir(src, dest, opts) { | |
| 278 | - readdirSync(src).forEach((item) => copyDirItem(item, src, dest, opts)); | ||
| 279 | - } | ||
| 278 | + const dir = opendirSync(src); | ||
| 279 | + | ||
| 280 | + try { | ||
| 281 | + let dirent; | ||
| 280 | 282 | ||
| 281 | - function copyDirItem(item, src, dest, opts) { | ||
| 282 | - const srcItem = join(src, item); | ||
| 283 | - const destItem = join(dest, item); | ||
| 284 | - const { destStat } = checkPathsSync(srcItem, destItem, opts); | ||
| 285 | - return startCopy(destStat, srcItem, destItem, opts); | ||
| 283 | + while ((dirent = dir.readSync()) !== null) { | ||
| 284 | + const { name } = dirent; | ||
| 285 | + const srcItem = join(src, name); | ||
| 286 | + const destItem = join(dest, name); | ||
| 287 | + const { destStat } = checkPathsSync(srcItem, destItem, opts); | ||
| 288 | + | ||
| 289 | + startCopy(destStat, srcItem, destItem, opts); | ||
| 290 | + } | ||
| 291 | + } finally { | ||
| 292 | + dir.closeSync(); | ||
| 293 | + } | ||
| 286 | 294 | } | |
| 287 | 295 | ||
| 288 | 296 | function onLink(destStat, src, dest) { | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -41,7 +41,7 @@ const { | |||
| 41 | 41 | copyFile, | |
| 42 | 42 | lstat, | |
| 43 | 43 | mkdir, | |
| 44 | - readdir, | ||
| 44 | + opendir, | ||
| 45 | 45 | readlink, | |
| 46 | 46 | stat, | |
| 47 | 47 | symlink, | |
@@ -325,11 +325,11 @@ async function mkDirAndCopy(srcMode, src, dest, opts) { | |||
| 325 | 325 | } | |
| 326 | 326 | ||
| 327 | 327 | async function copyDir(src, dest, opts) { | |
| 328 | - const dir = await readdir(src); | ||
| 329 | - for (let i = 0; i < dir.length; i++) { | ||
| 330 | - const item = dir[i]; | ||
| 331 | - const srcItem = join(src, item); | ||
| 332 | - const destItem = join(dest, item); | ||
| 328 | + const dir = await opendir(src); | ||
| 329 | + | ||
| 330 | + for await (const { name } of dir) { | ||
| 331 | + const srcItem = join(src, name); | ||
| 332 | + const destItem = join(dest, name); | ||
| 333 | 333 | const { destStat } = await checkPaths(srcItem, destItem, opts); | |
| 334 | 334 | await startCopy(destStat, srcItem, destItem, opts); | |
| 335 | 335 | } | |
| Back | FazBrowse Home | New Git URL |
0 commit comments