UNPKG

645 BTypeScriptView Raw
1/**
2Convert a value to an array.
3
4_Supplying `null` or `undefined` results in an empty array._
5
6@example
7```
8import arrify = require('arrify');
9
10arrify('🦄');
11//=> ['🦄']
12
13arrify(['🦄']);
14//=> ['🦄']
15
16arrify(new Set(['🦄']));
17//=> ['🦄']
18
19arrify(null);
20//=> []
21
22arrify(undefined);
23//=> []
24```
25*/
26declare function arrify<ValueType>(
27 value: ValueType
28): ValueType extends (null | undefined)
29 ? []
30 : ValueType extends string
31 ? [string]
32 : ValueType extends ReadonlyArray<unknown> // TODO: Use 'readonly unknown[]' in the next major version
33 ? ValueType
34 : ValueType extends Iterable<infer T>
35 ? T[]
36 : [ValueType];
37
38export = arrify;