type AsArray = T extends [] ? T : T[] /** * Wraps its argument in an array unless it is already an array (or array-like). * See https://api.rubyonrails.org/classes/Array.html#method-c-wrap */ export function arrayWrap(value: T | T[]): AsArray { return Array.isArray(value) ? (value as AsArray) : ([value] as AsArray) } export default arrayWrap