11'use strict' ;
22
33const common = require ( '../common' ) ;
4- const fs = require ( 'fs' ) ;
4+ const {
5+ glob,
6+ globSync,
7+ promises : { glob : globAsync } ,
8+ } = require ( 'fs' ) ;
59const path = require ( 'path' ) ;
610const assert = require ( 'node:assert' ) ;
711
@@ -20,28 +24,30 @@ const bench = common.createBenchmark(main, configs);
2024async function main ( config ) {
2125 const fullPath = path . resolve ( benchmarkDirectory , config . dir ) ;
2226 const { pattern, recursive, mode } = config ;
27+ const options = { cwd : fullPath , recursive } ;
28+ const callback = ( resolve , reject ) => {
29+ glob ( pattern , options , ( err , matches ) => {
30+ if ( err ) {
31+ reject ( err )
32+ } else {
33+ resolve ( matches ) ;
34+ }
35+ } ) ;
36+ }
2337
2438 let noDead ;
2539 bench . start ( ) ;
2640
2741 for ( let i = 0 ; i < config . n ; i ++ ) {
2842 switch ( mode ) {
2943 case 'sync' :
30- noDead = fs . globSync ( pattern , { cwd : fullPath , recursive } ) ;
44+ noDead = globSync ( pattern , options ) ;
3145 break ;
3246 case 'promise' :
33- noDead = await fs . promises . glob ( pattern , { cwd : fullPath , recursive } ) ;
47+ noDead = await globAsync ( pattern , options ) ;
3448 break ;
3549 case 'callback' :
36- noDead = await new Promise ( ( resolve , reject ) => {
37- fs . glob ( pattern , { cwd : fullPath , recursive } , ( err , matches ) => {
38- if ( err ) {
39- reject ( err ) ;
40- } else {
41- resolve ( matches ) ;
42- }
43- } ) ;
44- } ) ;
50+ noDead = await new Promise ( callback ) ;
4551 break ;
4652 default :
4753 throw new Error ( `Unknown mode: ${ mode } ` ) ;
0 commit comments