Skip to content

串行扫描文件夹,扫描的同时支持更新、过滤操作,一定程度复用遍历。

License

Notifications You must be signed in to change notification settings

iyowei/scan-dir-sync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

scanDirSync(path, [worker, raw = false])

串行扫描文件夹,扫描的同时支持更新、过滤操作,一定程度复用遍历。

使用

项目中同时使用 lsDirSync()scanDirEachSync() 模块的话,推荐使用当前模块。

  • path 待扫描的路径,必需提供,{String}
  • worker 处理器,如果扫描的同时需要更新、过滤操作可提供,一定程度复用穷举,可选,{ Function }
    • 返回 {Object | Boolean}
      • false 过滤掉当前扫描结果
      • true 保留当前扫描结果
      • 对象字面量,保留 / 更新当前扫描结果
      • 其它类型则默认为没有任何处理
  • raw 是否专门返回未加工的扫描结果,使用 worker 后才会生效,默认 false可选,{ Boolean }
  • 返回,扫描结果 { Array }
    • 如果设置了 rawtrue,则返回 二维数组,第一项为加工后的扫描结果,第二项为未加工的扫描结果
    • 默认返回 一维数组,即:加工后的扫描结果
import { log } from "console";
import scanDirSync from "@iyowei/scan-dir-sync";

log(
  scanDirSync(
    process.cwd(),
    (cur, index) => {
      return index % 2 === 0 ? cur : false;
    },
    true
  )
);

/**
 * [
 *   [
 *     {
 *       path: '',
 *       dirent: [Dirent]
 *     },
 *     ...
 *   ],
 *   [
 *     {
 *       path: '',
 *       dirent: [Dirent]
 *     },
 *     ...
 *   ]
 * ]
 */

安装

Node Version Badge

# Pnpm
pnpm add @iyowei/scan-dir-sync

# yarn
yarn add @iyowei/scan-dir-sync

# npm
npm add @iyowei/scan-dir-sync

相关

  • lsDirSync(),串行扫描文件夹;
  • lsDir(),并行扫描文件夹;
  • scanDirEachSync(),可在扫描的同时更新或过滤数据,串行 实现;
  • scanDirEach(),可在扫描的同时更新或过滤数据,并行 实现;
  • scanDir()worker 选填,有 worker,行为同 scanDirEach() 一致,否则与 lsDir() 一致,如果项目中同时使用了 scanDirEach()lsDir(),则推荐使用 scanDir()

参与贡献

PRs Welcome

About

串行扫描文件夹,扫描的同时支持更新、过滤操作,一定程度复用遍历。

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy