mirror of
				https://github.com/cp6/my-idlers.git
				synced 2025-11-03 23:59:09 +00:00 
			
		
		
		
	
		
			
	
	
		
			54 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			54 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								# defined
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								return the first argument that is `!== undefined`
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[](http://ci.testling.com/substack/defined)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[](http://travis-ci.org/substack/defined)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Most of the time when I chain together `||`s, I actually just want the first
							 | 
						||
| 
								 | 
							
								item that is not `undefined`, not the first non-falsy item.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This module is like the defined-or (`//`) operator in perl 5.10+.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# example
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								``` js
							 | 
						||
| 
								 | 
							
								var defined = require('defined');
							 | 
						||
| 
								 | 
							
								var opts = { y : false, w : 4 };
							 | 
						||
| 
								 | 
							
								var x = defined(opts.x, opts.y, opts.w, 100);
							 | 
						||
| 
								 | 
							
								console.log(x);
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								$ node example/defined.js
							 | 
						||
| 
								 | 
							
								false
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The return value is `false` because `false` is the first item that is
							 | 
						||
| 
								 | 
							
								`!== undefined`.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# methods
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								``` js
							 | 
						||
| 
								 | 
							
								var defined = require('defined')
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## var x = defined(a, b, c...)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Return the first item in the argument list `a, b, c...` that is `!== undefined`.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								If all the items are `=== undefined`, return undefined.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# install
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								With [npm](https://npmjs.org) do:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								npm install defined
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# license
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								MIT
							 |