Skip to content

Bug: fs.promises.glob incorrect return typing #1161

@dylnic

Description

@dylnic

The return typing of fs.promise.glob in memfs is incorrect. It returns Promise<string[]> instead of NodeJS.AsyncIterator<string>

memfs:

glob: (pattern: string, options?: opts.IGlobOptions) => Promise<string[]>;

Node typing:

/**
 * ```js
 * import { glob } from 'node:fs/promises';
 *
 * for await (const entry of glob('*.js'))
 *   console.log(entry);
 * ```
 * @since v22.0.0
 * @returns An AsyncIterator that yields the paths of files
 * that match the pattern.
 */
function glob(pattern: string | readonly string[]): NodeJS.AsyncIterator<string>;
function glob(
    pattern: string | readonly string[],
    options: GlobOptionsWithFileTypes,
): NodeJS.AsyncIterator<Dirent>;
function glob(
    pattern: string | readonly string[],
    options: GlobOptionsWithoutFileTypes,
): NodeJS.AsyncIterator<string>;
function glob(
    pattern: string | readonly string[],
    options: GlobOptions,
): NodeJS.AsyncIterator<Dirent | string>;

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions