@stdlib/utils
Version:
Standard utilities.
60 lines (44 loc) • 1.56 kB
Plain Text
{{alias}}( predicate, x, y, done )
If a predicate function returns a truthy value, returns `x`; otherwise,
returns `y`.
A predicate function is provided a single argument:
- clbk: callback to invoke upon predicate completion.
The callback function accepts two arguments:
- error: error object.
- bool: condition used to determine whether to invoke `x` or `y`.
The `done` callback is invoked upon function completion and is provided at
most two arguments:
- error: error object.
- result: either `x` or `y`.
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
----------
predicate: Function
Predicate function.
x: any
Value to return if a condition is truthy.
y: any
Value to return if a condition is falsy.
done: Function
Callback to invoke upon completion.
Examples
--------
> function predicate( clbk ) {
... setTimeout( onTimeout, 0 );
... function onTimeout() {
... clbk( null, true );
... }
... };
> function done( error, result ) {
... if ( error ) {
... throw error;
... }
... console.log( result );
... };
> {{alias}}( predicate, 'beep', 'boop', done )
'beep'
See Also
--------