mirror of
https://github.com/IBM/fp-go.git
synced 2025-08-10 22:31:32 +02:00
fix: auto generate more sequence operations
Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com>
This commit is contained in:
18
io/doc.go
Normal file
18
io/doc.go
Normal file
@@ -0,0 +1,18 @@
|
||||
// Copyright (c) 2023 IBM Corp.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package io
|
||||
|
||||
//go:generate go run .. io --count 10 --filename gen.go
|
375
io/gen.go
Normal file
375
io/gen.go
Normal file
@@ -0,0 +1,375 @@
|
||||
// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// 2023-07-27 22:37:50.7171035 +0200 CEST m=+0.017994101
|
||||
package io
|
||||
|
||||
|
||||
import (
|
||||
G "github.com/IBM/fp-go/io/generic"
|
||||
T "github.com/IBM/fp-go/tuple"
|
||||
)
|
||||
|
||||
// SequenceT1 converts 1 [IO[T]] into a [IO[T.Tuple1[T1]]]
|
||||
func SequenceT1[T1 any](
|
||||
t1 IO[T1],
|
||||
) IO[T.Tuple1[T1]] {
|
||||
return G.SequenceT1[
|
||||
IO[T.Tuple1[T1]],
|
||||
IO[T1],
|
||||
](t1)
|
||||
}
|
||||
|
||||
// SequenceTuple1 converts a [T.Tuple1[IO[T]]] into a [IO[T.Tuple1[T1]]]
|
||||
func SequenceTuple1[T1 any](t T.Tuple1[IO[T1]]) IO[T.Tuple1[T1]] {
|
||||
return G.SequenceTuple1[
|
||||
IO[T.Tuple1[T1]],
|
||||
IO[T1],
|
||||
](t)
|
||||
}
|
||||
|
||||
// TraverseTuple1 converts a [T.Tuple1[IO[T]]] into a [IO[T.Tuple1[T1]]]
|
||||
func TraverseTuple1[F1 ~func(A1) IO[T1], A1, T1 any](f1 F1) func(T.Tuple1[A1]) IO[T.Tuple1[T1]] {
|
||||
return G.TraverseTuple1[IO[T.Tuple1[T1]]](f1)
|
||||
}
|
||||
|
||||
// SequenceT2 converts 2 [IO[T]] into a [IO[T.Tuple2[T1, T2]]]
|
||||
func SequenceT2[T1, T2 any](
|
||||
t1 IO[T1],
|
||||
t2 IO[T2],
|
||||
) IO[T.Tuple2[T1, T2]] {
|
||||
return G.SequenceT2[
|
||||
IO[T.Tuple2[T1, T2]],
|
||||
IO[T1],
|
||||
IO[T2],
|
||||
](t1, t2)
|
||||
}
|
||||
|
||||
// SequenceTuple2 converts a [T.Tuple2[IO[T]]] into a [IO[T.Tuple2[T1, T2]]]
|
||||
func SequenceTuple2[T1, T2 any](t T.Tuple2[IO[T1], IO[T2]]) IO[T.Tuple2[T1, T2]] {
|
||||
return G.SequenceTuple2[
|
||||
IO[T.Tuple2[T1, T2]],
|
||||
IO[T1],
|
||||
IO[T2],
|
||||
](t)
|
||||
}
|
||||
|
||||
// TraverseTuple2 converts a [T.Tuple2[IO[T]]] into a [IO[T.Tuple2[T1, T2]]]
|
||||
func TraverseTuple2[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], A1, A2, T1, T2 any](f1 F1, f2 F2) func(T.Tuple2[A1, A2]) IO[T.Tuple2[T1, T2]] {
|
||||
return G.TraverseTuple2[IO[T.Tuple2[T1, T2]]](f1, f2)
|
||||
}
|
||||
|
||||
// SequenceT3 converts 3 [IO[T]] into a [IO[T.Tuple3[T1, T2, T3]]]
|
||||
func SequenceT3[T1, T2, T3 any](
|
||||
t1 IO[T1],
|
||||
t2 IO[T2],
|
||||
t3 IO[T3],
|
||||
) IO[T.Tuple3[T1, T2, T3]] {
|
||||
return G.SequenceT3[
|
||||
IO[T.Tuple3[T1, T2, T3]],
|
||||
IO[T1],
|
||||
IO[T2],
|
||||
IO[T3],
|
||||
](t1, t2, t3)
|
||||
}
|
||||
|
||||
// SequenceTuple3 converts a [T.Tuple3[IO[T]]] into a [IO[T.Tuple3[T1, T2, T3]]]
|
||||
func SequenceTuple3[T1, T2, T3 any](t T.Tuple3[IO[T1], IO[T2], IO[T3]]) IO[T.Tuple3[T1, T2, T3]] {
|
||||
return G.SequenceTuple3[
|
||||
IO[T.Tuple3[T1, T2, T3]],
|
||||
IO[T1],
|
||||
IO[T2],
|
||||
IO[T3],
|
||||
](t)
|
||||
}
|
||||
|
||||
// TraverseTuple3 converts a [T.Tuple3[IO[T]]] into a [IO[T.Tuple3[T1, T2, T3]]]
|
||||
func TraverseTuple3[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], A1, A2, A3, T1, T2, T3 any](f1 F1, f2 F2, f3 F3) func(T.Tuple3[A1, A2, A3]) IO[T.Tuple3[T1, T2, T3]] {
|
||||
return G.TraverseTuple3[IO[T.Tuple3[T1, T2, T3]]](f1, f2, f3)
|
||||
}
|
||||
|
||||
// SequenceT4 converts 4 [IO[T]] into a [IO[T.Tuple4[T1, T2, T3, T4]]]
|
||||
func SequenceT4[T1, T2, T3, T4 any](
|
||||
t1 IO[T1],
|
||||
t2 IO[T2],
|
||||
t3 IO[T3],
|
||||
t4 IO[T4],
|
||||
) IO[T.Tuple4[T1, T2, T3, T4]] {
|
||||
return G.SequenceT4[
|
||||
IO[T.Tuple4[T1, T2, T3, T4]],
|
||||
IO[T1],
|
||||
IO[T2],
|
||||
IO[T3],
|
||||
IO[T4],
|
||||
](t1, t2, t3, t4)
|
||||
}
|
||||
|
||||
// SequenceTuple4 converts a [T.Tuple4[IO[T]]] into a [IO[T.Tuple4[T1, T2, T3, T4]]]
|
||||
func SequenceTuple4[T1, T2, T3, T4 any](t T.Tuple4[IO[T1], IO[T2], IO[T3], IO[T4]]) IO[T.Tuple4[T1, T2, T3, T4]] {
|
||||
return G.SequenceTuple4[
|
||||
IO[T.Tuple4[T1, T2, T3, T4]],
|
||||
IO[T1],
|
||||
IO[T2],
|
||||
IO[T3],
|
||||
IO[T4],
|
||||
](t)
|
||||
}
|
||||
|
||||
// TraverseTuple4 converts a [T.Tuple4[IO[T]]] into a [IO[T.Tuple4[T1, T2, T3, T4]]]
|
||||
func TraverseTuple4[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], F4 ~func(A4) IO[T4], A1, A2, A3, A4, T1, T2, T3, T4 any](f1 F1, f2 F2, f3 F3, f4 F4) func(T.Tuple4[A1, A2, A3, A4]) IO[T.Tuple4[T1, T2, T3, T4]] {
|
||||
return G.TraverseTuple4[IO[T.Tuple4[T1, T2, T3, T4]]](f1, f2, f3, f4)
|
||||
}
|
||||
|
||||
// SequenceT5 converts 5 [IO[T]] into a [IO[T.Tuple5[T1, T2, T3, T4, T5]]]
|
||||
func SequenceT5[T1, T2, T3, T4, T5 any](
|
||||
t1 IO[T1],
|
||||
t2 IO[T2],
|
||||
t3 IO[T3],
|
||||
t4 IO[T4],
|
||||
t5 IO[T5],
|
||||
) IO[T.Tuple5[T1, T2, T3, T4, T5]] {
|
||||
return G.SequenceT5[
|
||||
IO[T.Tuple5[T1, T2, T3, T4, T5]],
|
||||
IO[T1],
|
||||
IO[T2],
|
||||
IO[T3],
|
||||
IO[T4],
|
||||
IO[T5],
|
||||
](t1, t2, t3, t4, t5)
|
||||
}
|
||||
|
||||
// SequenceTuple5 converts a [T.Tuple5[IO[T]]] into a [IO[T.Tuple5[T1, T2, T3, T4, T5]]]
|
||||
func SequenceTuple5[T1, T2, T3, T4, T5 any](t T.Tuple5[IO[T1], IO[T2], IO[T3], IO[T4], IO[T5]]) IO[T.Tuple5[T1, T2, T3, T4, T5]] {
|
||||
return G.SequenceTuple5[
|
||||
IO[T.Tuple5[T1, T2, T3, T4, T5]],
|
||||
IO[T1],
|
||||
IO[T2],
|
||||
IO[T3],
|
||||
IO[T4],
|
||||
IO[T5],
|
||||
](t)
|
||||
}
|
||||
|
||||
// TraverseTuple5 converts a [T.Tuple5[IO[T]]] into a [IO[T.Tuple5[T1, T2, T3, T4, T5]]]
|
||||
func TraverseTuple5[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], F4 ~func(A4) IO[T4], F5 ~func(A5) IO[T5], A1, A2, A3, A4, A5, T1, T2, T3, T4, T5 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5) func(T.Tuple5[A1, A2, A3, A4, A5]) IO[T.Tuple5[T1, T2, T3, T4, T5]] {
|
||||
return G.TraverseTuple5[IO[T.Tuple5[T1, T2, T3, T4, T5]]](f1, f2, f3, f4, f5)
|
||||
}
|
||||
|
||||
// SequenceT6 converts 6 [IO[T]] into a [IO[T.Tuple6[T1, T2, T3, T4, T5, T6]]]
|
||||
func SequenceT6[T1, T2, T3, T4, T5, T6 any](
|
||||
t1 IO[T1],
|
||||
t2 IO[T2],
|
||||
t3 IO[T3],
|
||||
t4 IO[T4],
|
||||
t5 IO[T5],
|
||||
t6 IO[T6],
|
||||
) IO[T.Tuple6[T1, T2, T3, T4, T5, T6]] {
|
||||
return G.SequenceT6[
|
||||
IO[T.Tuple6[T1, T2, T3, T4, T5, T6]],
|
||||
IO[T1],
|
||||
IO[T2],
|
||||
IO[T3],
|
||||
IO[T4],
|
||||
IO[T5],
|
||||
IO[T6],
|
||||
](t1, t2, t3, t4, t5, t6)
|
||||
}
|
||||
|
||||
// SequenceTuple6 converts a [T.Tuple6[IO[T]]] into a [IO[T.Tuple6[T1, T2, T3, T4, T5, T6]]]
|
||||
func SequenceTuple6[T1, T2, T3, T4, T5, T6 any](t T.Tuple6[IO[T1], IO[T2], IO[T3], IO[T4], IO[T5], IO[T6]]) IO[T.Tuple6[T1, T2, T3, T4, T5, T6]] {
|
||||
return G.SequenceTuple6[
|
||||
IO[T.Tuple6[T1, T2, T3, T4, T5, T6]],
|
||||
IO[T1],
|
||||
IO[T2],
|
||||
IO[T3],
|
||||
IO[T4],
|
||||
IO[T5],
|
||||
IO[T6],
|
||||
](t)
|
||||
}
|
||||
|
||||
// TraverseTuple6 converts a [T.Tuple6[IO[T]]] into a [IO[T.Tuple6[T1, T2, T3, T4, T5, T6]]]
|
||||
func TraverseTuple6[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], F4 ~func(A4) IO[T4], F5 ~func(A5) IO[T5], F6 ~func(A6) IO[T6], A1, A2, A3, A4, A5, A6, T1, T2, T3, T4, T5, T6 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6) func(T.Tuple6[A1, A2, A3, A4, A5, A6]) IO[T.Tuple6[T1, T2, T3, T4, T5, T6]] {
|
||||
return G.TraverseTuple6[IO[T.Tuple6[T1, T2, T3, T4, T5, T6]]](f1, f2, f3, f4, f5, f6)
|
||||
}
|
||||
|
||||
// SequenceT7 converts 7 [IO[T]] into a [IO[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]]
|
||||
func SequenceT7[T1, T2, T3, T4, T5, T6, T7 any](
|
||||
t1 IO[T1],
|
||||
t2 IO[T2],
|
||||
t3 IO[T3],
|
||||
t4 IO[T4],
|
||||
t5 IO[T5],
|
||||
t6 IO[T6],
|
||||
t7 IO[T7],
|
||||
) IO[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]] {
|
||||
return G.SequenceT7[
|
||||
IO[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]],
|
||||
IO[T1],
|
||||
IO[T2],
|
||||
IO[T3],
|
||||
IO[T4],
|
||||
IO[T5],
|
||||
IO[T6],
|
||||
IO[T7],
|
||||
](t1, t2, t3, t4, t5, t6, t7)
|
||||
}
|
||||
|
||||
// SequenceTuple7 converts a [T.Tuple7[IO[T]]] into a [IO[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]]
|
||||
func SequenceTuple7[T1, T2, T3, T4, T5, T6, T7 any](t T.Tuple7[IO[T1], IO[T2], IO[T3], IO[T4], IO[T5], IO[T6], IO[T7]]) IO[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]] {
|
||||
return G.SequenceTuple7[
|
||||
IO[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]],
|
||||
IO[T1],
|
||||
IO[T2],
|
||||
IO[T3],
|
||||
IO[T4],
|
||||
IO[T5],
|
||||
IO[T6],
|
||||
IO[T7],
|
||||
](t)
|
||||
}
|
||||
|
||||
// TraverseTuple7 converts a [T.Tuple7[IO[T]]] into a [IO[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]]
|
||||
func TraverseTuple7[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], F4 ~func(A4) IO[T4], F5 ~func(A5) IO[T5], F6 ~func(A6) IO[T6], F7 ~func(A7) IO[T7], A1, A2, A3, A4, A5, A6, A7, T1, T2, T3, T4, T5, T6, T7 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7) func(T.Tuple7[A1, A2, A3, A4, A5, A6, A7]) IO[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]] {
|
||||
return G.TraverseTuple7[IO[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]](f1, f2, f3, f4, f5, f6, f7)
|
||||
}
|
||||
|
||||
// SequenceT8 converts 8 [IO[T]] into a [IO[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]]
|
||||
func SequenceT8[T1, T2, T3, T4, T5, T6, T7, T8 any](
|
||||
t1 IO[T1],
|
||||
t2 IO[T2],
|
||||
t3 IO[T3],
|
||||
t4 IO[T4],
|
||||
t5 IO[T5],
|
||||
t6 IO[T6],
|
||||
t7 IO[T7],
|
||||
t8 IO[T8],
|
||||
) IO[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]] {
|
||||
return G.SequenceT8[
|
||||
IO[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]],
|
||||
IO[T1],
|
||||
IO[T2],
|
||||
IO[T3],
|
||||
IO[T4],
|
||||
IO[T5],
|
||||
IO[T6],
|
||||
IO[T7],
|
||||
IO[T8],
|
||||
](t1, t2, t3, t4, t5, t6, t7, t8)
|
||||
}
|
||||
|
||||
// SequenceTuple8 converts a [T.Tuple8[IO[T]]] into a [IO[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]]
|
||||
func SequenceTuple8[T1, T2, T3, T4, T5, T6, T7, T8 any](t T.Tuple8[IO[T1], IO[T2], IO[T3], IO[T4], IO[T5], IO[T6], IO[T7], IO[T8]]) IO[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]] {
|
||||
return G.SequenceTuple8[
|
||||
IO[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]],
|
||||
IO[T1],
|
||||
IO[T2],
|
||||
IO[T3],
|
||||
IO[T4],
|
||||
IO[T5],
|
||||
IO[T6],
|
||||
IO[T7],
|
||||
IO[T8],
|
||||
](t)
|
||||
}
|
||||
|
||||
// TraverseTuple8 converts a [T.Tuple8[IO[T]]] into a [IO[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]]
|
||||
func TraverseTuple8[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], F4 ~func(A4) IO[T4], F5 ~func(A5) IO[T5], F6 ~func(A6) IO[T6], F7 ~func(A7) IO[T7], F8 ~func(A8) IO[T8], A1, A2, A3, A4, A5, A6, A7, A8, T1, T2, T3, T4, T5, T6, T7, T8 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8) func(T.Tuple8[A1, A2, A3, A4, A5, A6, A7, A8]) IO[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]] {
|
||||
return G.TraverseTuple8[IO[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]](f1, f2, f3, f4, f5, f6, f7, f8)
|
||||
}
|
||||
|
||||
// SequenceT9 converts 9 [IO[T]] into a [IO[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]]
|
||||
func SequenceT9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any](
|
||||
t1 IO[T1],
|
||||
t2 IO[T2],
|
||||
t3 IO[T3],
|
||||
t4 IO[T4],
|
||||
t5 IO[T5],
|
||||
t6 IO[T6],
|
||||
t7 IO[T7],
|
||||
t8 IO[T8],
|
||||
t9 IO[T9],
|
||||
) IO[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]] {
|
||||
return G.SequenceT9[
|
||||
IO[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]],
|
||||
IO[T1],
|
||||
IO[T2],
|
||||
IO[T3],
|
||||
IO[T4],
|
||||
IO[T5],
|
||||
IO[T6],
|
||||
IO[T7],
|
||||
IO[T8],
|
||||
IO[T9],
|
||||
](t1, t2, t3, t4, t5, t6, t7, t8, t9)
|
||||
}
|
||||
|
||||
// SequenceTuple9 converts a [T.Tuple9[IO[T]]] into a [IO[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]]
|
||||
func SequenceTuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any](t T.Tuple9[IO[T1], IO[T2], IO[T3], IO[T4], IO[T5], IO[T6], IO[T7], IO[T8], IO[T9]]) IO[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]] {
|
||||
return G.SequenceTuple9[
|
||||
IO[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]],
|
||||
IO[T1],
|
||||
IO[T2],
|
||||
IO[T3],
|
||||
IO[T4],
|
||||
IO[T5],
|
||||
IO[T6],
|
||||
IO[T7],
|
||||
IO[T8],
|
||||
IO[T9],
|
||||
](t)
|
||||
}
|
||||
|
||||
// TraverseTuple9 converts a [T.Tuple9[IO[T]]] into a [IO[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]]
|
||||
func TraverseTuple9[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], F4 ~func(A4) IO[T4], F5 ~func(A5) IO[T5], F6 ~func(A6) IO[T6], F7 ~func(A7) IO[T7], F8 ~func(A8) IO[T8], F9 ~func(A9) IO[T9], A1, A2, A3, A4, A5, A6, A7, A8, A9, T1, T2, T3, T4, T5, T6, T7, T8, T9 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9) func(T.Tuple9[A1, A2, A3, A4, A5, A6, A7, A8, A9]) IO[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]] {
|
||||
return G.TraverseTuple9[IO[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]](f1, f2, f3, f4, f5, f6, f7, f8, f9)
|
||||
}
|
||||
|
||||
// SequenceT10 converts 10 [IO[T]] into a [IO[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]]
|
||||
func SequenceT10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](
|
||||
t1 IO[T1],
|
||||
t2 IO[T2],
|
||||
t3 IO[T3],
|
||||
t4 IO[T4],
|
||||
t5 IO[T5],
|
||||
t6 IO[T6],
|
||||
t7 IO[T7],
|
||||
t8 IO[T8],
|
||||
t9 IO[T9],
|
||||
t10 IO[T10],
|
||||
) IO[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]] {
|
||||
return G.SequenceT10[
|
||||
IO[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]],
|
||||
IO[T1],
|
||||
IO[T2],
|
||||
IO[T3],
|
||||
IO[T4],
|
||||
IO[T5],
|
||||
IO[T6],
|
||||
IO[T7],
|
||||
IO[T8],
|
||||
IO[T9],
|
||||
IO[T10],
|
||||
](t1, t2, t3, t4, t5, t6, t7, t8, t9, t10)
|
||||
}
|
||||
|
||||
// SequenceTuple10 converts a [T.Tuple10[IO[T]]] into a [IO[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]]
|
||||
func SequenceTuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](t T.Tuple10[IO[T1], IO[T2], IO[T3], IO[T4], IO[T5], IO[T6], IO[T7], IO[T8], IO[T9], IO[T10]]) IO[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]] {
|
||||
return G.SequenceTuple10[
|
||||
IO[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]],
|
||||
IO[T1],
|
||||
IO[T2],
|
||||
IO[T3],
|
||||
IO[T4],
|
||||
IO[T5],
|
||||
IO[T6],
|
||||
IO[T7],
|
||||
IO[T8],
|
||||
IO[T9],
|
||||
IO[T10],
|
||||
](t)
|
||||
}
|
||||
|
||||
// TraverseTuple10 converts a [T.Tuple10[IO[T]]] into a [IO[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]]
|
||||
func TraverseTuple10[F1 ~func(A1) IO[T1], F2 ~func(A2) IO[T2], F3 ~func(A3) IO[T3], F4 ~func(A4) IO[T4], F5 ~func(A5) IO[T5], F6 ~func(A6) IO[T6], F7 ~func(A7) IO[T7], F8 ~func(A8) IO[T8], F9 ~func(A9) IO[T9], F10 ~func(A10) IO[T10], A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9, f10 F10) func(T.Tuple10[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10]) IO[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]] {
|
||||
return G.TraverseTuple10[IO[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]](f1, f2, f3, f4, f5, f6, f7, f8, f9, f10)
|
||||
}
|
830
io/generic/gen.go
Normal file
830
io/generic/gen.go
Normal file
@@ -0,0 +1,830 @@
|
||||
// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// 2023-07-27 22:37:50.7191132 +0200 CEST m=+0.020003801
|
||||
package generic
|
||||
|
||||
|
||||
import (
|
||||
T "github.com/IBM/fp-go/tuple"
|
||||
A "github.com/IBM/fp-go/internal/apply"
|
||||
)
|
||||
|
||||
// SequenceT1 converts 1 [func() T] into a [func() T.Tuple1[T1]]
|
||||
func SequenceT1[
|
||||
G_TUPLE1 ~func() T.Tuple1[T1],
|
||||
G_T1 ~func() T1,
|
||||
T1 any](
|
||||
t1 G_T1,
|
||||
) G_TUPLE1 {
|
||||
return A.SequenceT1(
|
||||
Map[G_T1, G_TUPLE1, T1, T.Tuple1[T1]],
|
||||
t1,
|
||||
)
|
||||
}
|
||||
|
||||
// SequenceTuple1 converts a [T.Tuple1[func() T]] into a [func() T.Tuple1[T1]]
|
||||
func SequenceTuple1[
|
||||
G_TUPLE1 ~func() T.Tuple1[T1],
|
||||
G_T1 ~func() T1,
|
||||
T1 any](t T.Tuple1[G_T1]) G_TUPLE1 {
|
||||
return A.SequenceTuple1(
|
||||
Map[G_T1, G_TUPLE1, T1, T.Tuple1[T1]],
|
||||
t)
|
||||
}
|
||||
|
||||
// TraverseTuple1 converts a [T.Tuple1[func() T]] into a [func() T.Tuple1[T1]]
|
||||
func TraverseTuple1[
|
||||
G_TUPLE1 ~func() T.Tuple1[T1],
|
||||
F1 ~func(A1) G_T1,
|
||||
G_T1 ~func() T1,
|
||||
A1, T1 any](f1 F1) func(T.Tuple1[A1]) G_TUPLE1 {
|
||||
return func(t T.Tuple1[A1]) G_TUPLE1 {
|
||||
return A.TraverseTuple1(
|
||||
Map[G_T1, G_TUPLE1, T1, T.Tuple1[T1]],
|
||||
f1,
|
||||
t)
|
||||
}
|
||||
}
|
||||
|
||||
// SequenceT2 converts 2 [func() T] into a [func() T.Tuple2[T1, T2]]
|
||||
func SequenceT2[
|
||||
G_TUPLE2 ~func() T.Tuple2[T1, T2],
|
||||
G_T1 ~func() T1,
|
||||
G_T2 ~func() T2,
|
||||
T1, T2 any](
|
||||
t1 G_T1,
|
||||
t2 G_T2,
|
||||
) G_TUPLE2 {
|
||||
return A.SequenceT2(
|
||||
Map[G_T1, func() func(T2) T.Tuple2[T1, T2], T1, func(T2) T.Tuple2[T1, T2]],
|
||||
Ap[G_TUPLE2, func() func(T2) T.Tuple2[T1, T2], G_T2],
|
||||
t1,
|
||||
t2,
|
||||
)
|
||||
}
|
||||
|
||||
// SequenceTuple2 converts a [T.Tuple2[func() T]] into a [func() T.Tuple2[T1, T2]]
|
||||
func SequenceTuple2[
|
||||
G_TUPLE2 ~func() T.Tuple2[T1, T2],
|
||||
G_T1 ~func() T1,
|
||||
G_T2 ~func() T2,
|
||||
T1, T2 any](t T.Tuple2[G_T1, G_T2]) G_TUPLE2 {
|
||||
return A.SequenceTuple2(
|
||||
Map[G_T1, func() func(T2) T.Tuple2[T1, T2], T1, func(T2) T.Tuple2[T1, T2]],
|
||||
Ap[G_TUPLE2, func() func(T2) T.Tuple2[T1, T2], G_T2],
|
||||
t)
|
||||
}
|
||||
|
||||
// TraverseTuple2 converts a [T.Tuple2[func() T]] into a [func() T.Tuple2[T1, T2]]
|
||||
func TraverseTuple2[
|
||||
G_TUPLE2 ~func() T.Tuple2[T1, T2],
|
||||
F1 ~func(A1) G_T1,
|
||||
F2 ~func(A2) G_T2,
|
||||
G_T1 ~func() T1,
|
||||
G_T2 ~func() T2,
|
||||
A1, A2, T1, T2 any](f1 F1, f2 F2) func(T.Tuple2[A1, A2]) G_TUPLE2 {
|
||||
return func(t T.Tuple2[A1, A2]) G_TUPLE2 {
|
||||
return A.TraverseTuple2(
|
||||
Map[G_T1, func() func(T2) T.Tuple2[T1, T2], T1, func(T2) T.Tuple2[T1, T2]],
|
||||
Ap[G_TUPLE2, func() func(T2) T.Tuple2[T1, T2], G_T2],
|
||||
f1,
|
||||
f2,
|
||||
t)
|
||||
}
|
||||
}
|
||||
|
||||
// SequenceT3 converts 3 [func() T] into a [func() T.Tuple3[T1, T2, T3]]
|
||||
func SequenceT3[
|
||||
G_TUPLE3 ~func() T.Tuple3[T1, T2, T3],
|
||||
G_T1 ~func() T1,
|
||||
G_T2 ~func() T2,
|
||||
G_T3 ~func() T3,
|
||||
T1, T2, T3 any](
|
||||
t1 G_T1,
|
||||
t2 G_T2,
|
||||
t3 G_T3,
|
||||
) G_TUPLE3 {
|
||||
return A.SequenceT3(
|
||||
Map[G_T1, func() func(T2) func(T3) T.Tuple3[T1, T2, T3], T1, func(T2) func(T3) T.Tuple3[T1, T2, T3]],
|
||||
Ap[func() func(T3) T.Tuple3[T1, T2, T3], func() func(T2) func(T3) T.Tuple3[T1, T2, T3], G_T2],
|
||||
Ap[G_TUPLE3, func() func(T3) T.Tuple3[T1, T2, T3], G_T3],
|
||||
t1,
|
||||
t2,
|
||||
t3,
|
||||
)
|
||||
}
|
||||
|
||||
// SequenceTuple3 converts a [T.Tuple3[func() T]] into a [func() T.Tuple3[T1, T2, T3]]
|
||||
func SequenceTuple3[
|
||||
G_TUPLE3 ~func() T.Tuple3[T1, T2, T3],
|
||||
G_T1 ~func() T1,
|
||||
G_T2 ~func() T2,
|
||||
G_T3 ~func() T3,
|
||||
T1, T2, T3 any](t T.Tuple3[G_T1, G_T2, G_T3]) G_TUPLE3 {
|
||||
return A.SequenceTuple3(
|
||||
Map[G_T1, func() func(T2) func(T3) T.Tuple3[T1, T2, T3], T1, func(T2) func(T3) T.Tuple3[T1, T2, T3]],
|
||||
Ap[func() func(T3) T.Tuple3[T1, T2, T3], func() func(T2) func(T3) T.Tuple3[T1, T2, T3], G_T2],
|
||||
Ap[G_TUPLE3, func() func(T3) T.Tuple3[T1, T2, T3], G_T3],
|
||||
t)
|
||||
}
|
||||
|
||||
// TraverseTuple3 converts a [T.Tuple3[func() T]] into a [func() T.Tuple3[T1, T2, T3]]
|
||||
func TraverseTuple3[
|
||||
G_TUPLE3 ~func() T.Tuple3[T1, T2, T3],
|
||||
F1 ~func(A1) G_T1,
|
||||
F2 ~func(A2) G_T2,
|
||||
F3 ~func(A3) G_T3,
|
||||
G_T1 ~func() T1,
|
||||
G_T2 ~func() T2,
|
||||
G_T3 ~func() T3,
|
||||
A1, A2, A3, T1, T2, T3 any](f1 F1, f2 F2, f3 F3) func(T.Tuple3[A1, A2, A3]) G_TUPLE3 {
|
||||
return func(t T.Tuple3[A1, A2, A3]) G_TUPLE3 {
|
||||
return A.TraverseTuple3(
|
||||
Map[G_T1, func() func(T2) func(T3) T.Tuple3[T1, T2, T3], T1, func(T2) func(T3) T.Tuple3[T1, T2, T3]],
|
||||
Ap[func() func(T3) T.Tuple3[T1, T2, T3], func() func(T2) func(T3) T.Tuple3[T1, T2, T3], G_T2],
|
||||
Ap[G_TUPLE3, func() func(T3) T.Tuple3[T1, T2, T3], G_T3],
|
||||
f1,
|
||||
f2,
|
||||
f3,
|
||||
t)
|
||||
}
|
||||
}
|
||||
|
||||
// SequenceT4 converts 4 [func() T] into a [func() T.Tuple4[T1, T2, T3, T4]]
|
||||
func SequenceT4[
|
||||
G_TUPLE4 ~func() T.Tuple4[T1, T2, T3, T4],
|
||||
G_T1 ~func() T1,
|
||||
G_T2 ~func() T2,
|
||||
G_T3 ~func() T3,
|
||||
G_T4 ~func() T4,
|
||||
T1, T2, T3, T4 any](
|
||||
t1 G_T1,
|
||||
t2 G_T2,
|
||||
t3 G_T3,
|
||||
t4 G_T4,
|
||||
) G_TUPLE4 {
|
||||
return A.SequenceT4(
|
||||
Map[G_T1, func() func(T2) func(T3) func(T4) T.Tuple4[T1, T2, T3, T4], T1, func(T2) func(T3) func(T4) T.Tuple4[T1, T2, T3, T4]],
|
||||
Ap[func() func(T3) func(T4) T.Tuple4[T1, T2, T3, T4], func() func(T2) func(T3) func(T4) T.Tuple4[T1, T2, T3, T4], G_T2],
|
||||
Ap[func() func(T4) T.Tuple4[T1, T2, T3, T4], func() func(T3) func(T4) T.Tuple4[T1, T2, T3, T4], G_T3],
|
||||
Ap[G_TUPLE4, func() func(T4) T.Tuple4[T1, T2, T3, T4], G_T4],
|
||||
t1,
|
||||
t2,
|
||||
t3,
|
||||
t4,
|
||||
)
|
||||
}
|
||||
|
||||
// SequenceTuple4 converts a [T.Tuple4[func() T]] into a [func() T.Tuple4[T1, T2, T3, T4]]
|
||||
func SequenceTuple4[
|
||||
G_TUPLE4 ~func() T.Tuple4[T1, T2, T3, T4],
|
||||
G_T1 ~func() T1,
|
||||
G_T2 ~func() T2,
|
||||
G_T3 ~func() T3,
|
||||
G_T4 ~func() T4,
|
||||
T1, T2, T3, T4 any](t T.Tuple4[G_T1, G_T2, G_T3, G_T4]) G_TUPLE4 {
|
||||
return A.SequenceTuple4(
|
||||
Map[G_T1, func() func(T2) func(T3) func(T4) T.Tuple4[T1, T2, T3, T4], T1, func(T2) func(T3) func(T4) T.Tuple4[T1, T2, T3, T4]],
|
||||
Ap[func() func(T3) func(T4) T.Tuple4[T1, T2, T3, T4], func() func(T2) func(T3) func(T4) T.Tuple4[T1, T2, T3, T4], G_T2],
|
||||
Ap[func() func(T4) T.Tuple4[T1, T2, T3, T4], func() func(T3) func(T4) T.Tuple4[T1, T2, T3, T4], G_T3],
|
||||
Ap[G_TUPLE4, func() func(T4) T.Tuple4[T1, T2, T3, T4], G_T4],
|
||||
t)
|
||||
}
|
||||
|
||||
// TraverseTuple4 converts a [T.Tuple4[func() T]] into a [func() T.Tuple4[T1, T2, T3, T4]]
|
||||
func TraverseTuple4[
|
||||
G_TUPLE4 ~func() T.Tuple4[T1, T2, T3, T4],
|
||||
F1 ~func(A1) G_T1,
|
||||
F2 ~func(A2) G_T2,
|
||||
F3 ~func(A3) G_T3,
|
||||
F4 ~func(A4) G_T4,
|
||||
G_T1 ~func() T1,
|
||||
G_T2 ~func() T2,
|
||||
G_T3 ~func() T3,
|
||||
G_T4 ~func() T4,
|
||||
A1, A2, A3, A4, T1, T2, T3, T4 any](f1 F1, f2 F2, f3 F3, f4 F4) func(T.Tuple4[A1, A2, A3, A4]) G_TUPLE4 {
|
||||
return func(t T.Tuple4[A1, A2, A3, A4]) G_TUPLE4 {
|
||||
return A.TraverseTuple4(
|
||||
Map[G_T1, func() func(T2) func(T3) func(T4) T.Tuple4[T1, T2, T3, T4], T1, func(T2) func(T3) func(T4) T.Tuple4[T1, T2, T3, T4]],
|
||||
Ap[func() func(T3) func(T4) T.Tuple4[T1, T2, T3, T4], func() func(T2) func(T3) func(T4) T.Tuple4[T1, T2, T3, T4], G_T2],
|
||||
Ap[func() func(T4) T.Tuple4[T1, T2, T3, T4], func() func(T3) func(T4) T.Tuple4[T1, T2, T3, T4], G_T3],
|
||||
Ap[G_TUPLE4, func() func(T4) T.Tuple4[T1, T2, T3, T4], G_T4],
|
||||
f1,
|
||||
f2,
|
||||
f3,
|
||||
f4,
|
||||
t)
|
||||
}
|
||||
}
|
||||
|
||||
// SequenceT5 converts 5 [func() T] into a [func() T.Tuple5[T1, T2, T3, T4, T5]]
|
||||
func SequenceT5[
|
||||
G_TUPLE5 ~func() T.Tuple5[T1, T2, T3, T4, T5],
|
||||
G_T1 ~func() T1,
|
||||
G_T2 ~func() T2,
|
||||
G_T3 ~func() T3,
|
||||
G_T4 ~func() T4,
|
||||
G_T5 ~func() T5,
|
||||
T1, T2, T3, T4, T5 any](
|
||||
t1 G_T1,
|
||||
t2 G_T2,
|
||||
t3 G_T3,
|
||||
t4 G_T4,
|
||||
t5 G_T5,
|
||||
) G_TUPLE5 {
|
||||
return A.SequenceT5(
|
||||
Map[G_T1, func() func(T2) func(T3) func(T4) func(T5) T.Tuple5[T1, T2, T3, T4, T5], T1, func(T2) func(T3) func(T4) func(T5) T.Tuple5[T1, T2, T3, T4, T5]],
|
||||
Ap[func() func(T3) func(T4) func(T5) T.Tuple5[T1, T2, T3, T4, T5], func() func(T2) func(T3) func(T4) func(T5) T.Tuple5[T1, T2, T3, T4, T5], G_T2],
|
||||
Ap[func() func(T4) func(T5) T.Tuple5[T1, T2, T3, T4, T5], func() func(T3) func(T4) func(T5) T.Tuple5[T1, T2, T3, T4, T5], G_T3],
|
||||
Ap[func() func(T5) T.Tuple5[T1, T2, T3, T4, T5], func() func(T4) func(T5) T.Tuple5[T1, T2, T3, T4, T5], G_T4],
|
||||
Ap[G_TUPLE5, func() func(T5) T.Tuple5[T1, T2, T3, T4, T5], G_T5],
|
||||
t1,
|
||||
t2,
|
||||
t3,
|
||||
t4,
|
||||
t5,
|
||||
)
|
||||
}
|
||||
|
||||
// SequenceTuple5 converts a [T.Tuple5[func() T]] into a [func() T.Tuple5[T1, T2, T3, T4, T5]]
|
||||
func SequenceTuple5[
|
||||
G_TUPLE5 ~func() T.Tuple5[T1, T2, T3, T4, T5],
|
||||
G_T1 ~func() T1,
|
||||
G_T2 ~func() T2,
|
||||
G_T3 ~func() T3,
|
||||
G_T4 ~func() T4,
|
||||
G_T5 ~func() T5,
|
||||
T1, T2, T3, T4, T5 any](t T.Tuple5[G_T1, G_T2, G_T3, G_T4, G_T5]) G_TUPLE5 {
|
||||
return A.SequenceTuple5(
|
||||
Map[G_T1, func() func(T2) func(T3) func(T4) func(T5) T.Tuple5[T1, T2, T3, T4, T5], T1, func(T2) func(T3) func(T4) func(T5) T.Tuple5[T1, T2, T3, T4, T5]],
|
||||
Ap[func() func(T3) func(T4) func(T5) T.Tuple5[T1, T2, T3, T4, T5], func() func(T2) func(T3) func(T4) func(T5) T.Tuple5[T1, T2, T3, T4, T5], G_T2],
|
||||
Ap[func() func(T4) func(T5) T.Tuple5[T1, T2, T3, T4, T5], func() func(T3) func(T4) func(T5) T.Tuple5[T1, T2, T3, T4, T5], G_T3],
|
||||
Ap[func() func(T5) T.Tuple5[T1, T2, T3, T4, T5], func() func(T4) func(T5) T.Tuple5[T1, T2, T3, T4, T5], G_T4],
|
||||
Ap[G_TUPLE5, func() func(T5) T.Tuple5[T1, T2, T3, T4, T5], G_T5],
|
||||
t)
|
||||
}
|
||||
|
||||
// TraverseTuple5 converts a [T.Tuple5[func() T]] into a [func() T.Tuple5[T1, T2, T3, T4, T5]]
|
||||
func TraverseTuple5[
|
||||
G_TUPLE5 ~func() T.Tuple5[T1, T2, T3, T4, T5],
|
||||
F1 ~func(A1) G_T1,
|
||||
F2 ~func(A2) G_T2,
|
||||
F3 ~func(A3) G_T3,
|
||||
F4 ~func(A4) G_T4,
|
||||
F5 ~func(A5) G_T5,
|
||||
G_T1 ~func() T1,
|
||||
G_T2 ~func() T2,
|
||||
G_T3 ~func() T3,
|
||||
G_T4 ~func() T4,
|
||||
G_T5 ~func() T5,
|
||||
A1, A2, A3, A4, A5, T1, T2, T3, T4, T5 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5) func(T.Tuple5[A1, A2, A3, A4, A5]) G_TUPLE5 {
|
||||
return func(t T.Tuple5[A1, A2, A3, A4, A5]) G_TUPLE5 {
|
||||
return A.TraverseTuple5(
|
||||
Map[G_T1, func() func(T2) func(T3) func(T4) func(T5) T.Tuple5[T1, T2, T3, T4, T5], T1, func(T2) func(T3) func(T4) func(T5) T.Tuple5[T1, T2, T3, T4, T5]],
|
||||
Ap[func() func(T3) func(T4) func(T5) T.Tuple5[T1, T2, T3, T4, T5], func() func(T2) func(T3) func(T4) func(T5) T.Tuple5[T1, T2, T3, T4, T5], G_T2],
|
||||
Ap[func() func(T4) func(T5) T.Tuple5[T1, T2, T3, T4, T5], func() func(T3) func(T4) func(T5) T.Tuple5[T1, T2, T3, T4, T5], G_T3],
|
||||
Ap[func() func(T5) T.Tuple5[T1, T2, T3, T4, T5], func() func(T4) func(T5) T.Tuple5[T1, T2, T3, T4, T5], G_T4],
|
||||
Ap[G_TUPLE5, func() func(T5) T.Tuple5[T1, T2, T3, T4, T5], G_T5],
|
||||
f1,
|
||||
f2,
|
||||
f3,
|
||||
f4,
|
||||
f5,
|
||||
t)
|
||||
}
|
||||
}
|
||||
|
||||
// SequenceT6 converts 6 [func() T] into a [func() T.Tuple6[T1, T2, T3, T4, T5, T6]]
|
||||
func SequenceT6[
|
||||
G_TUPLE6 ~func() T.Tuple6[T1, T2, T3, T4, T5, T6],
|
||||
G_T1 ~func() T1,
|
||||
G_T2 ~func() T2,
|
||||
G_T3 ~func() T3,
|
||||
G_T4 ~func() T4,
|
||||
G_T5 ~func() T5,
|
||||
G_T6 ~func() T6,
|
||||
T1, T2, T3, T4, T5, T6 any](
|
||||
t1 G_T1,
|
||||
t2 G_T2,
|
||||
t3 G_T3,
|
||||
t4 G_T4,
|
||||
t5 G_T5,
|
||||
t6 G_T6,
|
||||
) G_TUPLE6 {
|
||||
return A.SequenceT6(
|
||||
Map[G_T1, func() func(T2) func(T3) func(T4) func(T5) func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], T1, func(T2) func(T3) func(T4) func(T5) func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6]],
|
||||
Ap[func() func(T3) func(T4) func(T5) func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], func() func(T2) func(T3) func(T4) func(T5) func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], G_T2],
|
||||
Ap[func() func(T4) func(T5) func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], func() func(T3) func(T4) func(T5) func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], G_T3],
|
||||
Ap[func() func(T5) func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], func() func(T4) func(T5) func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], G_T4],
|
||||
Ap[func() func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], func() func(T5) func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], G_T5],
|
||||
Ap[G_TUPLE6, func() func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], G_T6],
|
||||
t1,
|
||||
t2,
|
||||
t3,
|
||||
t4,
|
||||
t5,
|
||||
t6,
|
||||
)
|
||||
}
|
||||
|
||||
// SequenceTuple6 converts a [T.Tuple6[func() T]] into a [func() T.Tuple6[T1, T2, T3, T4, T5, T6]]
|
||||
func SequenceTuple6[
|
||||
G_TUPLE6 ~func() T.Tuple6[T1, T2, T3, T4, T5, T6],
|
||||
G_T1 ~func() T1,
|
||||
G_T2 ~func() T2,
|
||||
G_T3 ~func() T3,
|
||||
G_T4 ~func() T4,
|
||||
G_T5 ~func() T5,
|
||||
G_T6 ~func() T6,
|
||||
T1, T2, T3, T4, T5, T6 any](t T.Tuple6[G_T1, G_T2, G_T3, G_T4, G_T5, G_T6]) G_TUPLE6 {
|
||||
return A.SequenceTuple6(
|
||||
Map[G_T1, func() func(T2) func(T3) func(T4) func(T5) func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], T1, func(T2) func(T3) func(T4) func(T5) func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6]],
|
||||
Ap[func() func(T3) func(T4) func(T5) func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], func() func(T2) func(T3) func(T4) func(T5) func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], G_T2],
|
||||
Ap[func() func(T4) func(T5) func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], func() func(T3) func(T4) func(T5) func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], G_T3],
|
||||
Ap[func() func(T5) func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], func() func(T4) func(T5) func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], G_T4],
|
||||
Ap[func() func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], func() func(T5) func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], G_T5],
|
||||
Ap[G_TUPLE6, func() func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], G_T6],
|
||||
t)
|
||||
}
|
||||
|
||||
// TraverseTuple6 converts a [T.Tuple6[func() T]] into a [func() T.Tuple6[T1, T2, T3, T4, T5, T6]]
|
||||
func TraverseTuple6[
|
||||
G_TUPLE6 ~func() T.Tuple6[T1, T2, T3, T4, T5, T6],
|
||||
F1 ~func(A1) G_T1,
|
||||
F2 ~func(A2) G_T2,
|
||||
F3 ~func(A3) G_T3,
|
||||
F4 ~func(A4) G_T4,
|
||||
F5 ~func(A5) G_T5,
|
||||
F6 ~func(A6) G_T6,
|
||||
G_T1 ~func() T1,
|
||||
G_T2 ~func() T2,
|
||||
G_T3 ~func() T3,
|
||||
G_T4 ~func() T4,
|
||||
G_T5 ~func() T5,
|
||||
G_T6 ~func() T6,
|
||||
A1, A2, A3, A4, A5, A6, T1, T2, T3, T4, T5, T6 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6) func(T.Tuple6[A1, A2, A3, A4, A5, A6]) G_TUPLE6 {
|
||||
return func(t T.Tuple6[A1, A2, A3, A4, A5, A6]) G_TUPLE6 {
|
||||
return A.TraverseTuple6(
|
||||
Map[G_T1, func() func(T2) func(T3) func(T4) func(T5) func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], T1, func(T2) func(T3) func(T4) func(T5) func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6]],
|
||||
Ap[func() func(T3) func(T4) func(T5) func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], func() func(T2) func(T3) func(T4) func(T5) func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], G_T2],
|
||||
Ap[func() func(T4) func(T5) func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], func() func(T3) func(T4) func(T5) func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], G_T3],
|
||||
Ap[func() func(T5) func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], func() func(T4) func(T5) func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], G_T4],
|
||||
Ap[func() func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], func() func(T5) func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], G_T5],
|
||||
Ap[G_TUPLE6, func() func(T6) T.Tuple6[T1, T2, T3, T4, T5, T6], G_T6],
|
||||
f1,
|
||||
f2,
|
||||
f3,
|
||||
f4,
|
||||
f5,
|
||||
f6,
|
||||
t)
|
||||
}
|
||||
}
|
||||
|
||||
// SequenceT7 converts 7 [func() T] into a [func() T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]
|
||||
func SequenceT7[
|
||||
G_TUPLE7 ~func() T.Tuple7[T1, T2, T3, T4, T5, T6, T7],
|
||||
G_T1 ~func() T1,
|
||||
G_T2 ~func() T2,
|
||||
G_T3 ~func() T3,
|
||||
G_T4 ~func() T4,
|
||||
G_T5 ~func() T5,
|
||||
G_T6 ~func() T6,
|
||||
G_T7 ~func() T7,
|
||||
T1, T2, T3, T4, T5, T6, T7 any](
|
||||
t1 G_T1,
|
||||
t2 G_T2,
|
||||
t3 G_T3,
|
||||
t4 G_T4,
|
||||
t5 G_T5,
|
||||
t6 G_T6,
|
||||
t7 G_T7,
|
||||
) G_TUPLE7 {
|
||||
return A.SequenceT7(
|
||||
Map[G_T1, func() func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7]],
|
||||
Ap[func() func(T3) func(T4) func(T5) func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], func() func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], G_T2],
|
||||
Ap[func() func(T4) func(T5) func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], func() func(T3) func(T4) func(T5) func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], G_T3],
|
||||
Ap[func() func(T5) func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], func() func(T4) func(T5) func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], G_T4],
|
||||
Ap[func() func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], func() func(T5) func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], G_T5],
|
||||
Ap[func() func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], func() func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], G_T6],
|
||||
Ap[G_TUPLE7, func() func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], G_T7],
|
||||
t1,
|
||||
t2,
|
||||
t3,
|
||||
t4,
|
||||
t5,
|
||||
t6,
|
||||
t7,
|
||||
)
|
||||
}
|
||||
|
||||
// SequenceTuple7 converts a [T.Tuple7[func() T]] into a [func() T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]
|
||||
func SequenceTuple7[
|
||||
G_TUPLE7 ~func() T.Tuple7[T1, T2, T3, T4, T5, T6, T7],
|
||||
G_T1 ~func() T1,
|
||||
G_T2 ~func() T2,
|
||||
G_T3 ~func() T3,
|
||||
G_T4 ~func() T4,
|
||||
G_T5 ~func() T5,
|
||||
G_T6 ~func() T6,
|
||||
G_T7 ~func() T7,
|
||||
T1, T2, T3, T4, T5, T6, T7 any](t T.Tuple7[G_T1, G_T2, G_T3, G_T4, G_T5, G_T6, G_T7]) G_TUPLE7 {
|
||||
return A.SequenceTuple7(
|
||||
Map[G_T1, func() func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7]],
|
||||
Ap[func() func(T3) func(T4) func(T5) func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], func() func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], G_T2],
|
||||
Ap[func() func(T4) func(T5) func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], func() func(T3) func(T4) func(T5) func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], G_T3],
|
||||
Ap[func() func(T5) func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], func() func(T4) func(T5) func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], G_T4],
|
||||
Ap[func() func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], func() func(T5) func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], G_T5],
|
||||
Ap[func() func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], func() func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], G_T6],
|
||||
Ap[G_TUPLE7, func() func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], G_T7],
|
||||
t)
|
||||
}
|
||||
|
||||
// TraverseTuple7 converts a [T.Tuple7[func() T]] into a [func() T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]
|
||||
func TraverseTuple7[
|
||||
G_TUPLE7 ~func() T.Tuple7[T1, T2, T3, T4, T5, T6, T7],
|
||||
F1 ~func(A1) G_T1,
|
||||
F2 ~func(A2) G_T2,
|
||||
F3 ~func(A3) G_T3,
|
||||
F4 ~func(A4) G_T4,
|
||||
F5 ~func(A5) G_T5,
|
||||
F6 ~func(A6) G_T6,
|
||||
F7 ~func(A7) G_T7,
|
||||
G_T1 ~func() T1,
|
||||
G_T2 ~func() T2,
|
||||
G_T3 ~func() T3,
|
||||
G_T4 ~func() T4,
|
||||
G_T5 ~func() T5,
|
||||
G_T6 ~func() T6,
|
||||
G_T7 ~func() T7,
|
||||
A1, A2, A3, A4, A5, A6, A7, T1, T2, T3, T4, T5, T6, T7 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7) func(T.Tuple7[A1, A2, A3, A4, A5, A6, A7]) G_TUPLE7 {
|
||||
return func(t T.Tuple7[A1, A2, A3, A4, A5, A6, A7]) G_TUPLE7 {
|
||||
return A.TraverseTuple7(
|
||||
Map[G_T1, func() func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7]],
|
||||
Ap[func() func(T3) func(T4) func(T5) func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], func() func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], G_T2],
|
||||
Ap[func() func(T4) func(T5) func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], func() func(T3) func(T4) func(T5) func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], G_T3],
|
||||
Ap[func() func(T5) func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], func() func(T4) func(T5) func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], G_T4],
|
||||
Ap[func() func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], func() func(T5) func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], G_T5],
|
||||
Ap[func() func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], func() func(T6) func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], G_T6],
|
||||
Ap[G_TUPLE7, func() func(T7) T.Tuple7[T1, T2, T3, T4, T5, T6, T7], G_T7],
|
||||
f1,
|
||||
f2,
|
||||
f3,
|
||||
f4,
|
||||
f5,
|
||||
f6,
|
||||
f7,
|
||||
t)
|
||||
}
|
||||
}
|
||||
|
||||
// SequenceT8 converts 8 [func() T] into a [func() T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]
|
||||
func SequenceT8[
|
||||
G_TUPLE8 ~func() T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8],
|
||||
G_T1 ~func() T1,
|
||||
G_T2 ~func() T2,
|
||||
G_T3 ~func() T3,
|
||||
G_T4 ~func() T4,
|
||||
G_T5 ~func() T5,
|
||||
G_T6 ~func() T6,
|
||||
G_T7 ~func() T7,
|
||||
G_T8 ~func() T8,
|
||||
T1, T2, T3, T4, T5, T6, T7, T8 any](
|
||||
t1 G_T1,
|
||||
t2 G_T2,
|
||||
t3 G_T3,
|
||||
t4 G_T4,
|
||||
t5 G_T5,
|
||||
t6 G_T6,
|
||||
t7 G_T7,
|
||||
t8 G_T8,
|
||||
) G_TUPLE8 {
|
||||
return A.SequenceT8(
|
||||
Map[G_T1, func() func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]],
|
||||
Ap[func() func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], func() func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], G_T2],
|
||||
Ap[func() func(T4) func(T5) func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], func() func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], G_T3],
|
||||
Ap[func() func(T5) func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], func() func(T4) func(T5) func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], G_T4],
|
||||
Ap[func() func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], func() func(T5) func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], G_T5],
|
||||
Ap[func() func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], func() func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], G_T6],
|
||||
Ap[func() func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], func() func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], G_T7],
|
||||
Ap[G_TUPLE8, func() func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], G_T8],
|
||||
t1,
|
||||
t2,
|
||||
t3,
|
||||
t4,
|
||||
t5,
|
||||
t6,
|
||||
t7,
|
||||
t8,
|
||||
)
|
||||
}
|
||||
|
||||
// SequenceTuple8 converts a [T.Tuple8[func() T]] into a [func() T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]
|
||||
func SequenceTuple8[
|
||||
G_TUPLE8 ~func() T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8],
|
||||
G_T1 ~func() T1,
|
||||
G_T2 ~func() T2,
|
||||
G_T3 ~func() T3,
|
||||
G_T4 ~func() T4,
|
||||
G_T5 ~func() T5,
|
||||
G_T6 ~func() T6,
|
||||
G_T7 ~func() T7,
|
||||
G_T8 ~func() T8,
|
||||
T1, T2, T3, T4, T5, T6, T7, T8 any](t T.Tuple8[G_T1, G_T2, G_T3, G_T4, G_T5, G_T6, G_T7, G_T8]) G_TUPLE8 {
|
||||
return A.SequenceTuple8(
|
||||
Map[G_T1, func() func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]],
|
||||
Ap[func() func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], func() func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], G_T2],
|
||||
Ap[func() func(T4) func(T5) func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], func() func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], G_T3],
|
||||
Ap[func() func(T5) func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], func() func(T4) func(T5) func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], G_T4],
|
||||
Ap[func() func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], func() func(T5) func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], G_T5],
|
||||
Ap[func() func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], func() func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], G_T6],
|
||||
Ap[func() func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], func() func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], G_T7],
|
||||
Ap[G_TUPLE8, func() func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], G_T8],
|
||||
t)
|
||||
}
|
||||
|
||||
// TraverseTuple8 converts a [T.Tuple8[func() T]] into a [func() T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]
|
||||
func TraverseTuple8[
|
||||
G_TUPLE8 ~func() T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8],
|
||||
F1 ~func(A1) G_T1,
|
||||
F2 ~func(A2) G_T2,
|
||||
F3 ~func(A3) G_T3,
|
||||
F4 ~func(A4) G_T4,
|
||||
F5 ~func(A5) G_T5,
|
||||
F6 ~func(A6) G_T6,
|
||||
F7 ~func(A7) G_T7,
|
||||
F8 ~func(A8) G_T8,
|
||||
G_T1 ~func() T1,
|
||||
G_T2 ~func() T2,
|
||||
G_T3 ~func() T3,
|
||||
G_T4 ~func() T4,
|
||||
G_T5 ~func() T5,
|
||||
G_T6 ~func() T6,
|
||||
G_T7 ~func() T7,
|
||||
G_T8 ~func() T8,
|
||||
A1, A2, A3, A4, A5, A6, A7, A8, T1, T2, T3, T4, T5, T6, T7, T8 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8) func(T.Tuple8[A1, A2, A3, A4, A5, A6, A7, A8]) G_TUPLE8 {
|
||||
return func(t T.Tuple8[A1, A2, A3, A4, A5, A6, A7, A8]) G_TUPLE8 {
|
||||
return A.TraverseTuple8(
|
||||
Map[G_T1, func() func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]],
|
||||
Ap[func() func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], func() func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], G_T2],
|
||||
Ap[func() func(T4) func(T5) func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], func() func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], G_T3],
|
||||
Ap[func() func(T5) func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], func() func(T4) func(T5) func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], G_T4],
|
||||
Ap[func() func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], func() func(T5) func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], G_T5],
|
||||
Ap[func() func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], func() func(T6) func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], G_T6],
|
||||
Ap[func() func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], func() func(T7) func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], G_T7],
|
||||
Ap[G_TUPLE8, func() func(T8) T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], G_T8],
|
||||
f1,
|
||||
f2,
|
||||
f3,
|
||||
f4,
|
||||
f5,
|
||||
f6,
|
||||
f7,
|
||||
f8,
|
||||
t)
|
||||
}
|
||||
}
|
||||
|
||||
// SequenceT9 converts 9 [func() T] into a [func() T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]
|
||||
func SequenceT9[
|
||||
G_TUPLE9 ~func() T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9],
|
||||
G_T1 ~func() T1,
|
||||
G_T2 ~func() T2,
|
||||
G_T3 ~func() T3,
|
||||
G_T4 ~func() T4,
|
||||
G_T5 ~func() T5,
|
||||
G_T6 ~func() T6,
|
||||
G_T7 ~func() T7,
|
||||
G_T8 ~func() T8,
|
||||
G_T9 ~func() T9,
|
||||
T1, T2, T3, T4, T5, T6, T7, T8, T9 any](
|
||||
t1 G_T1,
|
||||
t2 G_T2,
|
||||
t3 G_T3,
|
||||
t4 G_T4,
|
||||
t5 G_T5,
|
||||
t6 G_T6,
|
||||
t7 G_T7,
|
||||
t8 G_T8,
|
||||
t9 G_T9,
|
||||
) G_TUPLE9 {
|
||||
return A.SequenceT9(
|
||||
Map[G_T1, func() func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]],
|
||||
Ap[func() func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], func() func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], G_T2],
|
||||
Ap[func() func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], func() func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], G_T3],
|
||||
Ap[func() func(T5) func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], func() func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], G_T4],
|
||||
Ap[func() func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], func() func(T5) func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], G_T5],
|
||||
Ap[func() func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], func() func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], G_T6],
|
||||
Ap[func() func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], func() func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], G_T7],
|
||||
Ap[func() func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], func() func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], G_T8],
|
||||
Ap[G_TUPLE9, func() func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], G_T9],
|
||||
t1,
|
||||
t2,
|
||||
t3,
|
||||
t4,
|
||||
t5,
|
||||
t6,
|
||||
t7,
|
||||
t8,
|
||||
t9,
|
||||
)
|
||||
}
|
||||
|
||||
// SequenceTuple9 converts a [T.Tuple9[func() T]] into a [func() T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]
|
||||
func SequenceTuple9[
|
||||
G_TUPLE9 ~func() T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9],
|
||||
G_T1 ~func() T1,
|
||||
G_T2 ~func() T2,
|
||||
G_T3 ~func() T3,
|
||||
G_T4 ~func() T4,
|
||||
G_T5 ~func() T5,
|
||||
G_T6 ~func() T6,
|
||||
G_T7 ~func() T7,
|
||||
G_T8 ~func() T8,
|
||||
G_T9 ~func() T9,
|
||||
T1, T2, T3, T4, T5, T6, T7, T8, T9 any](t T.Tuple9[G_T1, G_T2, G_T3, G_T4, G_T5, G_T6, G_T7, G_T8, G_T9]) G_TUPLE9 {
|
||||
return A.SequenceTuple9(
|
||||
Map[G_T1, func() func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]],
|
||||
Ap[func() func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], func() func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], G_T2],
|
||||
Ap[func() func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], func() func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], G_T3],
|
||||
Ap[func() func(T5) func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], func() func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], G_T4],
|
||||
Ap[func() func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], func() func(T5) func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], G_T5],
|
||||
Ap[func() func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], func() func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], G_T6],
|
||||
Ap[func() func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], func() func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], G_T7],
|
||||
Ap[func() func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], func() func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], G_T8],
|
||||
Ap[G_TUPLE9, func() func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], G_T9],
|
||||
t)
|
||||
}
|
||||
|
||||
// TraverseTuple9 converts a [T.Tuple9[func() T]] into a [func() T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]
|
||||
func TraverseTuple9[
|
||||
G_TUPLE9 ~func() T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9],
|
||||
F1 ~func(A1) G_T1,
|
||||
F2 ~func(A2) G_T2,
|
||||
F3 ~func(A3) G_T3,
|
||||
F4 ~func(A4) G_T4,
|
||||
F5 ~func(A5) G_T5,
|
||||
F6 ~func(A6) G_T6,
|
||||
F7 ~func(A7) G_T7,
|
||||
F8 ~func(A8) G_T8,
|
||||
F9 ~func(A9) G_T9,
|
||||
G_T1 ~func() T1,
|
||||
G_T2 ~func() T2,
|
||||
G_T3 ~func() T3,
|
||||
G_T4 ~func() T4,
|
||||
G_T5 ~func() T5,
|
||||
G_T6 ~func() T6,
|
||||
G_T7 ~func() T7,
|
||||
G_T8 ~func() T8,
|
||||
G_T9 ~func() T9,
|
||||
A1, A2, A3, A4, A5, A6, A7, A8, A9, T1, T2, T3, T4, T5, T6, T7, T8, T9 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9) func(T.Tuple9[A1, A2, A3, A4, A5, A6, A7, A8, A9]) G_TUPLE9 {
|
||||
return func(t T.Tuple9[A1, A2, A3, A4, A5, A6, A7, A8, A9]) G_TUPLE9 {
|
||||
return A.TraverseTuple9(
|
||||
Map[G_T1, func() func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]],
|
||||
Ap[func() func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], func() func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], G_T2],
|
||||
Ap[func() func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], func() func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], G_T3],
|
||||
Ap[func() func(T5) func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], func() func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], G_T4],
|
||||
Ap[func() func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], func() func(T5) func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], G_T5],
|
||||
Ap[func() func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], func() func(T6) func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], G_T6],
|
||||
Ap[func() func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], func() func(T7) func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], G_T7],
|
||||
Ap[func() func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], func() func(T8) func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], G_T8],
|
||||
Ap[G_TUPLE9, func() func(T9) T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], G_T9],
|
||||
f1,
|
||||
f2,
|
||||
f3,
|
||||
f4,
|
||||
f5,
|
||||
f6,
|
||||
f7,
|
||||
f8,
|
||||
f9,
|
||||
t)
|
||||
}
|
||||
}
|
||||
|
||||
// SequenceT10 converts 10 [func() T] into a [func() T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]
|
||||
func SequenceT10[
|
||||
G_TUPLE10 ~func() T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10],
|
||||
G_T1 ~func() T1,
|
||||
G_T2 ~func() T2,
|
||||
G_T3 ~func() T3,
|
||||
G_T4 ~func() T4,
|
||||
G_T5 ~func() T5,
|
||||
G_T6 ~func() T6,
|
||||
G_T7 ~func() T7,
|
||||
G_T8 ~func() T8,
|
||||
G_T9 ~func() T9,
|
||||
G_T10 ~func() T10,
|
||||
T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](
|
||||
t1 G_T1,
|
||||
t2 G_T2,
|
||||
t3 G_T3,
|
||||
t4 G_T4,
|
||||
t5 G_T5,
|
||||
t6 G_T6,
|
||||
t7 G_T7,
|
||||
t8 G_T8,
|
||||
t9 G_T9,
|
||||
t10 G_T10,
|
||||
) G_TUPLE10 {
|
||||
return A.SequenceT10(
|
||||
Map[G_T1, func() func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]],
|
||||
Ap[func() func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], func() func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], G_T2],
|
||||
Ap[func() func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], func() func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], G_T3],
|
||||
Ap[func() func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], func() func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], G_T4],
|
||||
Ap[func() func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], func() func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], G_T5],
|
||||
Ap[func() func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], func() func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], G_T6],
|
||||
Ap[func() func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], func() func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], G_T7],
|
||||
Ap[func() func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], func() func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], G_T8],
|
||||
Ap[func() func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], func() func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], G_T9],
|
||||
Ap[G_TUPLE10, func() func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], G_T10],
|
||||
t1,
|
||||
t2,
|
||||
t3,
|
||||
t4,
|
||||
t5,
|
||||
t6,
|
||||
t7,
|
||||
t8,
|
||||
t9,
|
||||
t10,
|
||||
)
|
||||
}
|
||||
|
||||
// SequenceTuple10 converts a [T.Tuple10[func() T]] into a [func() T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]
|
||||
func SequenceTuple10[
|
||||
G_TUPLE10 ~func() T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10],
|
||||
G_T1 ~func() T1,
|
||||
G_T2 ~func() T2,
|
||||
G_T3 ~func() T3,
|
||||
G_T4 ~func() T4,
|
||||
G_T5 ~func() T5,
|
||||
G_T6 ~func() T6,
|
||||
G_T7 ~func() T7,
|
||||
G_T8 ~func() T8,
|
||||
G_T9 ~func() T9,
|
||||
G_T10 ~func() T10,
|
||||
T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](t T.Tuple10[G_T1, G_T2, G_T3, G_T4, G_T5, G_T6, G_T7, G_T8, G_T9, G_T10]) G_TUPLE10 {
|
||||
return A.SequenceTuple10(
|
||||
Map[G_T1, func() func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]],
|
||||
Ap[func() func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], func() func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], G_T2],
|
||||
Ap[func() func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], func() func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], G_T3],
|
||||
Ap[func() func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], func() func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], G_T4],
|
||||
Ap[func() func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], func() func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], G_T5],
|
||||
Ap[func() func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], func() func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], G_T6],
|
||||
Ap[func() func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], func() func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], G_T7],
|
||||
Ap[func() func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], func() func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], G_T8],
|
||||
Ap[func() func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], func() func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], G_T9],
|
||||
Ap[G_TUPLE10, func() func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], G_T10],
|
||||
t)
|
||||
}
|
||||
|
||||
// TraverseTuple10 converts a [T.Tuple10[func() T]] into a [func() T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]
|
||||
func TraverseTuple10[
|
||||
G_TUPLE10 ~func() T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10],
|
||||
F1 ~func(A1) G_T1,
|
||||
F2 ~func(A2) G_T2,
|
||||
F3 ~func(A3) G_T3,
|
||||
F4 ~func(A4) G_T4,
|
||||
F5 ~func(A5) G_T5,
|
||||
F6 ~func(A6) G_T6,
|
||||
F7 ~func(A7) G_T7,
|
||||
F8 ~func(A8) G_T8,
|
||||
F9 ~func(A9) G_T9,
|
||||
F10 ~func(A10) G_T10,
|
||||
G_T1 ~func() T1,
|
||||
G_T2 ~func() T2,
|
||||
G_T3 ~func() T3,
|
||||
G_T4 ~func() T4,
|
||||
G_T5 ~func() T5,
|
||||
G_T6 ~func() T6,
|
||||
G_T7 ~func() T7,
|
||||
G_T8 ~func() T8,
|
||||
G_T9 ~func() T9,
|
||||
G_T10 ~func() T10,
|
||||
A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9, f10 F10) func(T.Tuple10[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10]) G_TUPLE10 {
|
||||
return func(t T.Tuple10[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10]) G_TUPLE10 {
|
||||
return A.TraverseTuple10(
|
||||
Map[G_T1, func() func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T1, func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]],
|
||||
Ap[func() func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], func() func(T2) func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], G_T2],
|
||||
Ap[func() func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], func() func(T3) func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], G_T3],
|
||||
Ap[func() func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], func() func(T4) func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], G_T4],
|
||||
Ap[func() func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], func() func(T5) func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], G_T5],
|
||||
Ap[func() func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], func() func(T6) func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], G_T6],
|
||||
Ap[func() func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], func() func(T7) func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], G_T7],
|
||||
Ap[func() func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], func() func(T8) func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], G_T8],
|
||||
Ap[func() func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], func() func(T9) func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], G_T9],
|
||||
Ap[G_TUPLE10, func() func(T10) T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], G_T10],
|
||||
f1,
|
||||
f2,
|
||||
f3,
|
||||
f4,
|
||||
f5,
|
||||
f6,
|
||||
f7,
|
||||
f8,
|
||||
f9,
|
||||
f10,
|
||||
t)
|
||||
}
|
||||
}
|
@@ -1,60 +0,0 @@
|
||||
// Copyright (c) 2023 IBM Corp.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package generic
|
||||
|
||||
import (
|
||||
"github.com/IBM/fp-go/internal/apply"
|
||||
T "github.com/IBM/fp-go/tuple"
|
||||
)
|
||||
|
||||
// SequenceT converts n inputs of higher kinded types into a higher kinded types of n strongly typed values, represented as a tuple
|
||||
|
||||
func SequenceT1[GA ~func() A, GTA ~func() T.Tuple1[A], A any](a GA) GTA {
|
||||
return apply.SequenceT1(
|
||||
Map[GA, GTA, A, T.Tuple1[A]],
|
||||
a,
|
||||
)
|
||||
}
|
||||
|
||||
func SequenceT2[GA ~func() A, GB ~func() B, GTAB ~func() T.Tuple2[A, B], A, B any](a GA, b GB) GTAB {
|
||||
return apply.SequenceT2(
|
||||
Map[GA, func() func(B) T.Tuple2[A, B], A, func(B) T.Tuple2[A, B]],
|
||||
Ap[GTAB, func() func(B) T.Tuple2[A, B], GB],
|
||||
|
||||
a, b,
|
||||
)
|
||||
}
|
||||
|
||||
func SequenceT3[GA ~func() A, GB ~func() B, GC ~func() C, GTABC ~func() T.Tuple3[A, B, C], A, B, C any](a GA, b GB, c GC) GTABC {
|
||||
return apply.SequenceT3(
|
||||
Map[GA, func() func(B) func(C) T.Tuple3[A, B, C], A, func(B) func(C) T.Tuple3[A, B, C]],
|
||||
Ap[func() func(C) T.Tuple3[A, B, C], func() func(B) func(C) T.Tuple3[A, B, C], GB],
|
||||
Ap[GTABC, func() func(C) T.Tuple3[A, B, C], GC],
|
||||
|
||||
a, b, c,
|
||||
)
|
||||
}
|
||||
|
||||
func SequenceT4[GA ~func() A, GB ~func() B, GC ~func() C, GD ~func() D, GTABCD ~func() T.Tuple4[A, B, C, D], A, B, C, D any](a GA, b GB, c GC, d GD) GTABCD {
|
||||
return apply.SequenceT4(
|
||||
Map[GA, func() func(B) func(C) func(D) T.Tuple4[A, B, C, D], A, func(B) func(C) func(D) T.Tuple4[A, B, C, D]],
|
||||
Ap[func() func(C) func(D) T.Tuple4[A, B, C, D], func() func(B) func(C) func(D) T.Tuple4[A, B, C, D], GB],
|
||||
Ap[func() func(D) T.Tuple4[A, B, C, D], func() func(C) func(D) T.Tuple4[A, B, C, D], GC],
|
||||
Ap[GTABCD, func() func(D) T.Tuple4[A, B, C, D], GD],
|
||||
|
||||
a, b, c, d,
|
||||
)
|
||||
}
|
@@ -1,39 +0,0 @@
|
||||
// Copyright (c) 2023 IBM Corp.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package io
|
||||
|
||||
import (
|
||||
G "github.com/IBM/fp-go/io/generic"
|
||||
T "github.com/IBM/fp-go/tuple"
|
||||
)
|
||||
|
||||
// SequenceT converts n inputs of higher kinded types into a higher kinded types of n strongly typed values, represented as a tuple
|
||||
|
||||
func SequenceT1[A any](a IO[A]) IO[T.Tuple1[A]] {
|
||||
return G.SequenceT1[IO[A], IO[T.Tuple1[A]]](a)
|
||||
}
|
||||
|
||||
func SequenceT2[A, B any](a IO[A], b IO[B]) IO[T.Tuple2[A, B]] {
|
||||
return G.SequenceT2[IO[A], IO[B], IO[T.Tuple2[A, B]]](a, b)
|
||||
}
|
||||
|
||||
func SequenceT3[A, B, C any](a IO[A], b IO[B], c IO[C]) IO[T.Tuple3[A, B, C]] {
|
||||
return G.SequenceT3[IO[A], IO[B], IO[C], IO[T.Tuple3[A, B, C]]](a, b, c)
|
||||
}
|
||||
|
||||
func SequenceT4[A, B, C, D any](a IO[A], b IO[B], c IO[C], d IO[D]) IO[T.Tuple4[A, B, C, D]] {
|
||||
return G.SequenceT4[IO[A], IO[B], IO[C], IO[D], IO[T.Tuple4[A, B, C, D]]](a, b, c, d)
|
||||
}
|
Reference in New Issue
Block a user