( ...elements: T )
| 71 | * @since 0.24.0 |
| 72 | */ |
| 73 | export const tuple = <T extends ReadonlyArray<Monoid<any>>>( |
| 74 | ...elements: T |
| 75 | ): Monoid<{ readonly [I in keyof T]: [T[I]] extends [Monoid<infer A>] ? A : never }> => { |
| 76 | const empty = elements.map((m) => m.empty) as any |
| 77 | return fromSemigroup(semigroup.tuple(...elements), empty) |
| 78 | } |
| 79 | |
| 80 | /** |
| 81 | * Given a type `A`, this function creates and returns a `Semigroup` for `ReadonlyArray<A>`. |
no test coverage detected