// Type definitions for arrify 1.0 // Project: https://github.com/sindresorhus/arrify // Definitions by: AnJun Wang // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /** * @example * arrify(undefined) // returns [] * @example * arrify(null) // returns [] * @example * arrify(1) // returns [1] * @example * arrify([2, 3]) // returns [2, 3] */ declare function arrify(val: undefined | null | T | T[]): T[]; /** * @example * // returns [] * arrify(undefined); * @example * // returns [] * arrify(null); * @example * let value: number | string[] = 2018; * // returns [2018] * arrify(value); * @example * let value: number[] | string | string[] = ['a', 'b']; * // returns ['a', 'b'] * arrify(value); */ declare function arrify(val: undefined | null | T1 | T2 | T1[] | T2[]): T1[] | T2[]; /** * @example * // returns [] * arrify(undefined); * @example * // returns [] * arrify(null); * @example * let value: boolean | number[] | string[] = true; * // returns [true] * arrify(value); * @example * let value: boolean[] | number | string[] = ['a', 'b']; * // returns ['a', 'b'] * arrify(value); */ declare function arrify(val: undefined | null | T1 | T2 | T3 | T1[] | T2[] | T3[]): T1[] | T2[] | T3[]; /** * @example * // returns [] * arrify(undefined); * @example * // returns [] * arrify(null); * @example * let value: boolean | Date | number[] | string[] = new Date(2018); * // returns [ new Date(2018) ] * arrify(value); * @example * let value: boolean[] | Date[] | number | string = [true, false]; * // returns [true, false] * arrify(value); */ declare function arrify(val: undefined | null | T1 | T2 | T3 | T4 | T1[] | T2[] | T3[] | T4[]): T1[] | T2[] | T3[] | T4[]; /** * @example * // returns [] * arrify(undefined); * @example * // returns [] * arrify(null); * @example * let value: boolean | Date | number[] | RegExp | string[] = /test/; * // returns [ /test/ ] * arrify(value); * @example * let value: boolean[] | Date[] | number | RegExp[] | string = [/test1/, /test2/]; * // returns [/test1/, /test2/] * arrify(value); */ declare function arrify(val: undefined | null | T1 | T2 | T3 | T4 | T5 | T1[] | T2[] | T3[] | T4[] | T5[]): T1[] | T2[] | T3[] | T4[] | T5[]; declare namespace arrify {} export = arrify;