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.
		
		
		
		
		
			
		
			
				
					
					
						
							39 lines
						
					
					
						
							645 B
						
					
					
				
			
		
		
	
	
							39 lines
						
					
					
						
							645 B
						
					
					
				| /**
 | |
| Convert a value to an array.
 | |
| 
 | |
| _Supplying `null` or `undefined` results in an empty array._
 | |
| 
 | |
| @example
 | |
| ```
 | |
| import arrify = require('arrify');
 | |
| 
 | |
| arrify('🦄');
 | |
| //=> ['🦄']
 | |
| 
 | |
| arrify(['🦄']);
 | |
| //=> ['🦄']
 | |
| 
 | |
| arrify(new Set(['🦄']));
 | |
| //=> ['🦄']
 | |
| 
 | |
| arrify(null);
 | |
| //=> []
 | |
| 
 | |
| arrify(undefined);
 | |
| //=> []
 | |
| ```
 | |
| */
 | |
| declare function arrify<ValueType>(
 | |
| 	value: ValueType
 | |
| ): ValueType extends (null | undefined)
 | |
| 	? []
 | |
| 	: ValueType extends string
 | |
| 	? [string]
 | |
| 	: ValueType extends ReadonlyArray<unknown> // TODO: Use 'readonly unknown[]' in the next major version
 | |
| 	? ValueType
 | |
| 	: ValueType extends Iterable<infer T>
 | |
| 	? T[]
 | |
| 	: [ValueType];
 | |
| 
 | |
| export = arrify;
 |