( param: Param<Kind, A> )
| 2158 | * @internal |
| 2159 | */ |
| 2160 | export const extractSingleParams = <Kind extends ParamKind, A>( |
| 2161 | param: Param<Kind, A> |
| 2162 | ): Array<Single<Kind, unknown>> => { |
| 2163 | return matchParam(param, { |
| 2164 | Single: (single) => [single as Single<Kind, unknown>], |
| 2165 | Map: (mapped) => extractSingleParams(mapped.param), |
| 2166 | Transform: (mapped) => [ |
| 2167 | ...extractSingleParams(mapped.param), |
| 2168 | ...mapped.alternatives.flatMap((alternative) => extractSingleParams(alternative())) |
| 2169 | ], |
| 2170 | Optional: (optional) => extractSingleParams(optional.param), |
| 2171 | Variadic: (variadic) => extractSingleParams(variadic.param) |
| 2172 | }) |
| 2173 | } |
| 2174 | |
| 2175 | /** |
| 2176 | * Gets the underlying Single param from a potentially nested param structure. |
no test coverage detected