{"version":3,"file":"arrays.mjs","names":[],"sources":["../../../../packages/utils/arrays.ts"],"sourcesContent":["import { isArray } from './types'\n\nexport const unique = <T>(arr: T[]) => [...new Set(arr)]\n\nexport const extractFirst = <T>(arr: T | T[]): T => {\n  return isArray(arr) ? arr[0] : arr\n}\n\ntype Many<T> = T | ReadonlyArray<T>\n// TODO: rename to `ensureArray`\n/** like `_.castArray`, except falsy value returns empty array. */\nexport const castArray = <T>(arr: Many<T>): T[] => {\n  if (!arr && (arr as any) !== 0) return []\n  return isArray(arr) ? arr : [arr as T]\n}\n\n// TODO: remove import alias\n// avoid naming conflicts\nexport { castArray as ensureArray } from 'lodash-unified'\n"],"mappings":";;;;AAEA,MAAa,UAAa,QAAa,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC;AAExD,MAAa,gBAAmB,QAAoB;AAClD,QAAO,QAAQ,IAAI,GAAG,IAAI,KAAK;;;AAMjC,MAAa,aAAgB,QAAsB;AACjD,KAAI,CAAC,OAAQ,QAAgB,EAAG,QAAO,EAAE;AACzC,QAAO,QAAQ,IAAI,GAAG,MAAM,CAAC,IAAS"}