77  escapePath , 
88  getPartialMatcher , 
99  isDynamicPattern , 
10+   isReadonlyArray , 
1011  log , 
1112  splitPattern 
1213}  from  './utils.ts' ; 
@@ -25,13 +26,13 @@ export interface GlobOptions {
2526  expandDirectories ?: boolean ; 
2627  followSymbolicLinks ?: boolean ; 
2728  globstar ?: boolean ; 
28-   ignore ?: string  |  string [ ] ; 
29+   ignore ?: string  |  readonly   string [ ] ; 
2930  onlyDirectories ?: boolean ; 
3031  onlyFiles ?: boolean ; 
3132  /** 
3233   * @deprecated  Provide patterns as the first argument instead. 
3334   */ 
34-   patterns ?: string  |  string [ ] ; 
35+   patterns ?: string  |  readonly   string [ ] ; 
3536  signal ?: AbortSignal ; 
3637} 
3738
@@ -165,15 +166,12 @@ function formatPaths(paths: string[], relative: (p: string) => string) {
165166  return  paths ; 
166167} 
167168
168- function  getCrawler ( patterns ?: string  |  string [ ] ,  options : Omit < GlobOptions ,  'patterns' >  =  { } )  { 
169+ function  getCrawler ( patterns ?: string  |  readonly  string [ ] ,  inputOptions : Omit < GlobOptions ,  'patterns' >  =  { } )  { 
170+   const  options  =  process . env . TINYGLOBBY_DEBUG  ? {  ...inputOptions ,  debug : true  }  : inputOptions ; 
169171  const  cwd  =  options . cwd 
170172    ? path . resolve ( options . cwd ) . replace ( BACKSLASHES ,  '/' ) 
171173    : process . cwd ( ) . replace ( BACKSLASHES ,  '/' ) ; 
172174
173-   if  ( process . env . TINYGLOBBY_DEBUG )  { 
174-     options . debug  =  true ; 
175-   } 
176- 
177175  if  ( options . debug )  { 
178176    log ( 'globbing with:' ,  {  patterns,  options,  cwd } ) ; 
179177  } 
@@ -285,20 +283,20 @@ function getCrawler(patterns?: string | string[], options: Omit<GlobOptions, 'pa
285283  return  [ new  fdir ( fdirOptions ) . crawl ( root ) ,  relative ]  as  const ; 
286284} 
287285
288- export  function  glob ( patterns : string  |  string [ ] ,  options ?: Omit < GlobOptions ,  'patterns' > ) : Promise < string [ ] > ; 
286+ export  function  glob ( patterns : string  |  readonly   string [ ] ,  options ?: Omit < GlobOptions ,  'patterns' > ) : Promise < string [ ] > ; 
289287/** 
290288 * @deprecated  Provide patterns as the first argument instead. 
291289 */ 
292290export  function  glob ( options : GlobOptions ) : Promise < string [ ] > ; 
293291export  async  function  glob ( 
294-   patternsOrOptions : string  |  string [ ]  |  GlobOptions , 
292+   patternsOrOptions : string  |  readonly   string [ ]  |  GlobOptions , 
295293  options ?: GlobOptions 
296294) : Promise < string [ ] >  { 
297295  if  ( patternsOrOptions  &&  options ?. patterns )  { 
298296    throw  new  Error ( 'Cannot pass patterns as both an argument and an option' ) ; 
299297  } 
300298
301-   const  isModern  =  Array . isArray ( patternsOrOptions )  ||  typeof  patternsOrOptions  ===  'string' ; 
299+   const  isModern  =  isReadonlyArray ( patternsOrOptions )  ||  typeof  patternsOrOptions  ===  'string' ; 
302300  const  opts  =  isModern  ? options  : patternsOrOptions ; 
303301  const  patterns  =  isModern  ? patternsOrOptions  : patternsOrOptions . patterns ; 
304302
@@ -310,17 +308,17 @@ export async function glob(
310308  return  formatPaths ( await  crawler . withPromise ( ) ,  relative ) ; 
311309} 
312310
313- export  function  globSync ( patterns : string  |  string [ ] ,  options ?: Omit < GlobOptions ,  'patterns' > ) : string [ ] ; 
311+ export  function  globSync ( patterns : string  |  readonly   string [ ] ,  options ?: Omit < GlobOptions ,  'patterns' > ) : string [ ] ; 
314312/** 
315313 * @deprecated  Provide patterns as the first argument instead. 
316314 */ 
317315export  function  globSync ( options : GlobOptions ) : string [ ] ; 
318- export  function  globSync ( patternsOrOptions : string  |  string [ ]  |  GlobOptions ,  options ?: GlobOptions ) : string [ ]  { 
316+ export  function  globSync ( patternsOrOptions : string  |  readonly   string [ ]  |  GlobOptions ,  options ?: GlobOptions ) : string [ ]  { 
319317  if  ( patternsOrOptions  &&  options ?. patterns )  { 
320318    throw  new  Error ( 'Cannot pass patterns as both an argument and an option' ) ; 
321319  } 
322320
323-   const  isModern  =  Array . isArray ( patternsOrOptions )  ||  typeof  patternsOrOptions  ===  'string' ; 
321+   const  isModern  =  isReadonlyArray ( patternsOrOptions )  ||  typeof  patternsOrOptions  ===  'string' ; 
324322  const  opts  =  isModern  ? options  : patternsOrOptions ; 
325323  const  patterns  =  isModern  ? patternsOrOptions  : patternsOrOptions . patterns ; 
326324
0 commit comments