UNPKG

@stdlib/utils

Version:

Standard utilities.

60 lines (44 loc) 1.56 kB
{{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 --------