UNPKG

@credo-ts/core

Version:

<p align="center"> <br /> <img alt="Credo Logo" src="https://github.com/openwallet-foundation/credo-ts/blob/c7886cb8377ceb8ee4efe8d264211e561a75072d/images/credo-logo.png" height="250px" /> </p> <h1 align="center"><b>Credo - Core</b></h1

1 lines • 1.05 kB
{"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"}