You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
import {Options as LocatePathOptions} from 'locate-path';
declare const stop: unique symbol;
declare namespace findUp { interface Options extends LocatePathOptions {}
type StopSymbol = typeof stop;
type Match = string | StopSymbol | undefined; }
declare const findUp: { /** Find a file or directory by walking up parent directories.
@param name - Name of the file or directory to find. Can be multiple. @returns The first path found (by respecting the order of `name`s) or `undefined` if none could be found.
@example ```
// /
// └── Users
// └── sindresorhus
// ├── unicorn.png
// └── foo
// └── bar
// ├── baz
// └── example.js
// example.js
import findUp = require('find-up');
(async () => { console.log(await findUp('unicorn.png')); //=> '/Users/sindresorhus/unicorn.png'
console.log(await findUp(['rainbow.png', 'unicorn.png'])); //=> '/Users/sindresorhus/unicorn.png'
})(); ```
*/ (name: string | string[], options?: findUp.Options): Promise<string | undefined>;
/** Find a file or directory by walking up parent directories.
@param matcher - Called for each directory in the search. Return a path or `findUp.stop` to stop the search. @returns The first path found or `undefined` if none could be found.
@example ```
import path = require('path'); import findUp = require('find-up');
(async () => { console.log(await findUp(async directory => { const hasUnicorns = await findUp.exists(path.join(directory, 'unicorn.png')); return hasUnicorns && directory; }, {type: 'directory'})); //=> '/Users/sindresorhus'
})(); ```
*/ (matcher: (directory: string) => (findUp.Match | Promise<findUp.Match>), options?: findUp.Options): Promise<string | undefined>;
sync: { /** Synchronously find a file or directory by walking up parent directories.
@param name - Name of the file or directory to find. Can be multiple. @returns The first path found (by respecting the order of `name`s) or `undefined` if none could be found. */ (name: string | string[], options?: findUp.Options): string | undefined;
/** Synchronously find a file or directory by walking up parent directories.
@param matcher - Called for each directory in the search. Return a path or `findUp.stop` to stop the search. @returns The first path found or `undefined` if none could be found.
@example ```
import path = require('path'); import findUp = require('find-up');
console.log(findUp.sync(directory => { const hasUnicorns = findUp.sync.exists(path.join(directory, 'unicorn.png')); return hasUnicorns && directory; }, {type: 'directory'})); //=> '/Users/sindresorhus'
```
*/ (matcher: (directory: string) => findUp.Match, options?: findUp.Options): string | undefined;
/** Synchronously check if a path exists.
@param path - Path to the file or directory. @returns Whether the path exists.
@example ```
import findUp = require('find-up');
console.log(findUp.sync.exists('/Users/sindresorhus/unicorn.png')); //=> true
```
*/ exists(path: string): boolean; }
/** Check if a path exists.
@param path - Path to a file or directory. @returns Whether the path exists.
@example ```
import findUp = require('find-up');
(async () => { console.log(await findUp.exists('/Users/sindresorhus/unicorn.png')); //=> true
})(); ```
*/ exists(path: string): Promise<boolean>;
/** Return this in a `matcher` function to stop the search and force `findUp` to immediately return `undefined`. */ readonly stop: findUp.StopSymbol; };
export = findUp;
|