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.06 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;CAC9D,IAAI,CAAC,KAAK,OAAO,CAAC;CAClB,IAAI,MAAM,QAAQ,GAAG,GAAG,OAAO;CAC/B,OAAO,CAAC,GAAG;AACb;AAIA,MAAa,oBACX,OACA,OAC0B;CAC1B,MAAM,SAAS,QAAgD,KAAW,CAAC,CAAC,IAAI,EAAE;CAGlF,OAAO,MAAM,QAAQ,KAAK,IAAI,SAAS,OAAO;AAChD"}