106 lines
3.0 KiB
Plaintext
106 lines
3.0 KiB
Plaintext
|
|
{{alias}}( path[, options], predicate, clbk )
|
|
Asynchronously resolves a path according to a predicate function by walking
|
|
parent directories.
|
|
|
|
When invoked, the predicate function is provided two arguments:
|
|
|
|
- `path`: a resolved path
|
|
- `next`: a callback to be invoked after processing a resolved path
|
|
|
|
The `next` callback takes two arguments:
|
|
|
|
- `error`: error argument
|
|
- `result`: test result
|
|
|
|
If a provided predicate function calls the `next` callback with a truthy
|
|
`error` argument, the function suspends execution and immediately calls the
|
|
`done` callback for subsequent `error` handling.
|
|
|
|
The function immediately returns upon encountering a non-falsy `result`
|
|
value and calls the `done` callback with `null` as the first argument and
|
|
the resolved path as the second argument.
|
|
|
|
If unable to resolve a path, the function returns `null` as the path result.
|
|
|
|
Execution is *not* guaranteed to be asynchronous. To guarantee asynchrony,
|
|
wrap the `done` callback in a function which either executes at the end of
|
|
the current stack (e.g., `nextTick`) or during a subsequent turn of the
|
|
event loop (e.g., `setImmediate`, `setTimeout`).
|
|
|
|
Parameters
|
|
----------
|
|
path: string
|
|
Path to resolve.
|
|
|
|
options: Object (optional)
|
|
Options.
|
|
|
|
options.dir: string (optional)
|
|
Base directory from which to search. Default: current working directory.
|
|
|
|
predicate: Function
|
|
The test function to invoke for each resolved path.
|
|
|
|
clbk: Function
|
|
Callback to invoke after resolving a path.
|
|
|
|
Examples
|
|
--------
|
|
> function predicate( path, next ) {
|
|
... setTimeout( onTimeout, path );
|
|
... function onTimeout() {
|
|
... console.log( path );
|
|
... next( null, false );
|
|
... }
|
|
... };
|
|
> function onPath( error, path ) {
|
|
... if ( error ) {
|
|
... console.error( error.message );
|
|
... } else {
|
|
... console.log( path );
|
|
... }
|
|
... };
|
|
> {{alias}}( 'package.json', predicate, onPath );
|
|
|
|
|
|
{{alias}}.sync( path[, options], predicate )
|
|
Synchronously resolves a path according to a predicate function by walking
|
|
parent directories.
|
|
|
|
The predicate function is provided one argument:
|
|
|
|
- `path`: a resolved path
|
|
|
|
The function immediately returns upon encountering a truthy return value.
|
|
|
|
If unable to resolve a path, the function returns `null` as the path result.
|
|
|
|
Parameters
|
|
----------
|
|
path: string
|
|
Path to resolve.
|
|
|
|
options: Object (optional)
|
|
Options.
|
|
|
|
options.dir: string (optional)
|
|
Base directory from which to search. Default: current working directory.
|
|
|
|
predicate: Function
|
|
The test function to invoke for each resolved path.
|
|
|
|
Returns
|
|
-------
|
|
out: string|null
|
|
Resolved path.
|
|
|
|
Examples
|
|
--------
|
|
> function predicate() { return false; };
|
|
> var out = {{alias}}.sync( 'package.json', predicate );
|
|
|
|
See Also
|
|
--------
|
|
|