{"version":3,"file":"array.mjs","names":[],"sources":["../../src/utils/array.ts"],"sourcesContent":["import type { SingleOrArray } from '../types'\n\nexport const asArray = <T>(val?: SingleOrArray<T>): Array<T> => {\n  if (!val) return []\n  if (Array.isArray(val)) return val\n  return [val]\n}\n\ntype ExtractValueFromSingleOrArray<V> = V extends SingleOrArray<infer Value> ? Value : never\n\nexport const mapSingleOrArray = <Wrapper extends SingleOrArray<unknown>, Return>(\n  value: Wrapper,\n  fn: (value: ExtractValueFromSingleOrArray<Wrapper>) => Return\n): SingleOrArray<Return> => {\n  const mapped = asArray<ExtractValueFromSingleOrArray<Wrapper>>(value as []).map(fn)\n\n  // We need to return a single or array value based on the input type\n  return Array.isArray(value) ? mapped : mapped[0]\n}\n"],"mappings":";;;AAEA,MAAa,WAAc,QAAqC;AAC9D,KAAI,CAAC,IAAK,QAAO,EAAE;AACnB,KAAI,MAAM,QAAQ,IAAI,CAAE,QAAO;AAC/B,QAAO,CAAC,IAAI;;AAKd,MAAa,oBACX,OACA,OAC0B;CAC1B,MAAM,SAAS,QAAgD,MAAY,CAAC,IAAI,GAAG;AAGnF,QAAO,MAAM,QAAQ,MAAM,GAAG,SAAS,OAAO"}