2023-07-23 22:05:54 +02:00
// 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.
2023-07-18 15:24:00 +02:00
package readerioeither
2023-07-19 16:20:28 +02:00
// Code generated by go generate; DO NOT EDIT.
// This file was generated by robots at
2023-07-21 10:55:03 +02:00
// 2023-07-21 10:22:43.4901011 +0200 CEST m=+0.009264601
2023-07-18 15:24:00 +02:00
import (
"context"
2023-07-18 15:57:54 +02:00
G "github.com/IBM/fp-go/context/readerioeither/generic"
2023-07-20 16:17:23 +02:00
T "github.com/IBM/fp-go/tuple"
2023-07-18 15:24:00 +02:00
)
// Eitherize0 converts a function with 0 parameters returning a tuple into a function with 0 parameters returning a [ReaderIOEither[R]]
// The inverse function is [Uneitherize0]
func Eitherize0 [ F ~ func ( context . Context ) ( R , error ) , R any ] ( f F ) func ( ) ReaderIOEither [ R ] {
2023-07-23 21:45:32 +02:00
return G . Eitherize0 [ ReaderIOEither [ R ] ] ( f )
2023-07-18 15:24:00 +02:00
}
// Eitherize1 converts a function with 1 parameters returning a tuple into a function with 1 parameters returning a [ReaderIOEither[R]]
// The inverse function is [Uneitherize1]
func Eitherize1 [ F ~ func ( context . Context , T0 ) ( R , error ) , T0 , R any ] ( f F ) func ( T0 ) ReaderIOEither [ R ] {
2023-07-23 21:45:32 +02:00
return G . Eitherize1 [ ReaderIOEither [ R ] ] ( f )
2023-07-20 16:17:23 +02:00
}
// SequenceT1 converts 1 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple1].
func SequenceT1 [ T1 any ] ( t1 ReaderIOEither [ T1 ] ) ReaderIOEither [ T . Tuple1 [ T1 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceT1 [ ReaderIOEither [ T . Tuple1 [ T1 ] ] ] ( t1 )
2023-07-18 15:24:00 +02:00
}
2023-07-21 10:55:03 +02:00
// SequenceSeqT1 converts 1 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple1].
func SequenceSeqT1 [ T1 any ] ( t1 ReaderIOEither [ T1 ] ) ReaderIOEither [ T . Tuple1 [ T1 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceSeqT1 [ ReaderIOEither [ T . Tuple1 [ T1 ] ] ] ( t1 )
2023-07-21 10:55:03 +02:00
}
// SequenceParT1 converts 1 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple1].
func SequenceParT1 [ T1 any ] ( t1 ReaderIOEither [ T1 ] ) ReaderIOEither [ T . Tuple1 [ T1 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceParT1 [ ReaderIOEither [ T . Tuple1 [ T1 ] ] ] ( t1 )
2023-07-21 10:55:03 +02:00
}
2023-07-20 23:22:02 +02:00
// SequenceTuple1 converts a [T.Tuple1] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple1].
func SequenceTuple1 [ T1 any ] ( t T . Tuple1 [ ReaderIOEither [ T1 ] ] ) ReaderIOEither [ T . Tuple1 [ T1 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceTuple1 [ ReaderIOEither [ T . Tuple1 [ T1 ] ] ] ( t )
2023-07-20 23:22:02 +02:00
}
2023-07-21 10:55:03 +02:00
// SequenceSeqTuple1 converts a [T.Tuple1] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple1].
func SequenceSeqTuple1 [ T1 any ] ( t T . Tuple1 [ ReaderIOEither [ T1 ] ] ) ReaderIOEither [ T . Tuple1 [ T1 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceSeqTuple1 [ ReaderIOEither [ T . Tuple1 [ T1 ] ] ] ( t )
2023-07-21 10:55:03 +02:00
}
// SequenceParTuple1 converts a [T.Tuple1] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple1].
func SequenceParTuple1 [ T1 any ] ( t T . Tuple1 [ ReaderIOEither [ T1 ] ] ) ReaderIOEither [ T . Tuple1 [ T1 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceParTuple1 [ ReaderIOEither [ T . Tuple1 [ T1 ] ] ] ( t )
2023-07-21 10:55:03 +02:00
}
// TraverseTuple1 converts a [T.Tuple1] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple1].
func TraverseTuple1 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , A1 , T1 any ] ( f1 F1 ) func ( T . Tuple1 [ A1 ] ) ReaderIOEither [ T . Tuple1 [ T1 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseTuple1 [ ReaderIOEither [ T . Tuple1 [ T1 ] ] ] ( f1 )
2023-07-21 10:55:03 +02:00
}
// TraverseSeqTuple1 converts a [T.Tuple1] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple1].
func TraverseSeqTuple1 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , A1 , T1 any ] ( f1 F1 ) func ( T . Tuple1 [ A1 ] ) ReaderIOEither [ T . Tuple1 [ T1 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseSeqTuple1 [ ReaderIOEither [ T . Tuple1 [ T1 ] ] ] ( f1 )
2023-07-21 10:55:03 +02:00
}
// TraverseParTuple1 converts a [T.Tuple1] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple1].
func TraverseParTuple1 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , A1 , T1 any ] ( f1 F1 ) func ( T . Tuple1 [ A1 ] ) ReaderIOEither [ T . Tuple1 [ T1 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseParTuple1 [ ReaderIOEither [ T . Tuple1 [ T1 ] ] ] ( f1 )
2023-07-21 10:55:03 +02:00
}
2023-07-18 15:24:00 +02:00
// Eitherize2 converts a function with 2 parameters returning a tuple into a function with 2 parameters returning a [ReaderIOEither[R]]
// The inverse function is [Uneitherize2]
func Eitherize2 [ F ~ func ( context . Context , T0 , T1 ) ( R , error ) , T0 , T1 , R any ] ( f F ) func ( T0 , T1 ) ReaderIOEither [ R ] {
2023-07-23 21:45:32 +02:00
return G . Eitherize2 [ ReaderIOEither [ R ] ] ( f )
2023-07-20 16:17:23 +02:00
}
// SequenceT2 converts 2 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple2].
func SequenceT2 [ T1 , T2 any ] ( t1 ReaderIOEither [ T1 ] , t2 ReaderIOEither [ T2 ] ) ReaderIOEither [ T . Tuple2 [ T1 , T2 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceT2 [ ReaderIOEither [ T . Tuple2 [ T1 , T2 ] ] ] ( t1 , t2 )
2023-07-18 15:24:00 +02:00
}
2023-07-21 10:55:03 +02:00
// SequenceSeqT2 converts 2 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple2].
func SequenceSeqT2 [ T1 , T2 any ] ( t1 ReaderIOEither [ T1 ] , t2 ReaderIOEither [ T2 ] ) ReaderIOEither [ T . Tuple2 [ T1 , T2 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceSeqT2 [ ReaderIOEither [ T . Tuple2 [ T1 , T2 ] ] ] ( t1 , t2 )
2023-07-21 10:55:03 +02:00
}
// SequenceParT2 converts 2 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple2].
func SequenceParT2 [ T1 , T2 any ] ( t1 ReaderIOEither [ T1 ] , t2 ReaderIOEither [ T2 ] ) ReaderIOEither [ T . Tuple2 [ T1 , T2 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceParT2 [ ReaderIOEither [ T . Tuple2 [ T1 , T2 ] ] ] ( t1 , t2 )
2023-07-21 10:55:03 +02:00
}
2023-07-20 23:22:02 +02:00
// SequenceTuple2 converts a [T.Tuple2] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple2].
func SequenceTuple2 [ T1 , T2 any ] ( t T . Tuple2 [ ReaderIOEither [ T1 ] , ReaderIOEither [ T2 ] ] ) ReaderIOEither [ T . Tuple2 [ T1 , T2 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceTuple2 [ ReaderIOEither [ T . Tuple2 [ T1 , T2 ] ] ] ( t )
2023-07-20 23:22:02 +02:00
}
2023-07-21 10:55:03 +02:00
// SequenceSeqTuple2 converts a [T.Tuple2] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple2].
func SequenceSeqTuple2 [ T1 , T2 any ] ( t T . Tuple2 [ ReaderIOEither [ T1 ] , ReaderIOEither [ T2 ] ] ) ReaderIOEither [ T . Tuple2 [ T1 , T2 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceSeqTuple2 [ ReaderIOEither [ T . Tuple2 [ T1 , T2 ] ] ] ( t )
2023-07-21 10:55:03 +02:00
}
// SequenceParTuple2 converts a [T.Tuple2] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple2].
func SequenceParTuple2 [ T1 , T2 any ] ( t T . Tuple2 [ ReaderIOEither [ T1 ] , ReaderIOEither [ T2 ] ] ) ReaderIOEither [ T . Tuple2 [ T1 , T2 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceParTuple2 [ ReaderIOEither [ T . Tuple2 [ T1 , T2 ] ] ] ( t )
2023-07-21 10:55:03 +02:00
}
// TraverseTuple2 converts a [T.Tuple2] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple2].
func TraverseTuple2 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , F2 ~ func ( A2 ) ReaderIOEither [ T2 ] , A1 , T1 , A2 , T2 any ] ( f1 F1 , f2 F2 ) func ( T . Tuple2 [ A1 , A2 ] ) ReaderIOEither [ T . Tuple2 [ T1 , T2 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseTuple2 [ ReaderIOEither [ T . Tuple2 [ T1 , T2 ] ] ] ( f1 , f2 )
2023-07-21 10:55:03 +02:00
}
// TraverseSeqTuple2 converts a [T.Tuple2] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple2].
func TraverseSeqTuple2 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , F2 ~ func ( A2 ) ReaderIOEither [ T2 ] , A1 , T1 , A2 , T2 any ] ( f1 F1 , f2 F2 ) func ( T . Tuple2 [ A1 , A2 ] ) ReaderIOEither [ T . Tuple2 [ T1 , T2 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseSeqTuple2 [ ReaderIOEither [ T . Tuple2 [ T1 , T2 ] ] ] ( f1 , f2 )
2023-07-21 10:55:03 +02:00
}
// TraverseParTuple2 converts a [T.Tuple2] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple2].
func TraverseParTuple2 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , F2 ~ func ( A2 ) ReaderIOEither [ T2 ] , A1 , T1 , A2 , T2 any ] ( f1 F1 , f2 F2 ) func ( T . Tuple2 [ A1 , A2 ] ) ReaderIOEither [ T . Tuple2 [ T1 , T2 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseParTuple2 [ ReaderIOEither [ T . Tuple2 [ T1 , T2 ] ] ] ( f1 , f2 )
2023-07-21 10:55:03 +02:00
}
2023-07-18 15:24:00 +02:00
// Eitherize3 converts a function with 3 parameters returning a tuple into a function with 3 parameters returning a [ReaderIOEither[R]]
// The inverse function is [Uneitherize3]
func Eitherize3 [ F ~ func ( context . Context , T0 , T1 , T2 ) ( R , error ) , T0 , T1 , T2 , R any ] ( f F ) func ( T0 , T1 , T2 ) ReaderIOEither [ R ] {
2023-07-23 21:45:32 +02:00
return G . Eitherize3 [ ReaderIOEither [ R ] ] ( f )
2023-07-20 16:17:23 +02:00
}
// SequenceT3 converts 3 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple3].
func SequenceT3 [ T1 , T2 , T3 any ] ( t1 ReaderIOEither [ T1 ] , t2 ReaderIOEither [ T2 ] , t3 ReaderIOEither [ T3 ] ) ReaderIOEither [ T . Tuple3 [ T1 , T2 , T3 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceT3 [ ReaderIOEither [ T . Tuple3 [ T1 , T2 , T3 ] ] ] ( t1 , t2 , t3 )
2023-07-18 15:24:00 +02:00
}
2023-07-21 10:55:03 +02:00
// SequenceSeqT3 converts 3 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple3].
func SequenceSeqT3 [ T1 , T2 , T3 any ] ( t1 ReaderIOEither [ T1 ] , t2 ReaderIOEither [ T2 ] , t3 ReaderIOEither [ T3 ] ) ReaderIOEither [ T . Tuple3 [ T1 , T2 , T3 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceSeqT3 [ ReaderIOEither [ T . Tuple3 [ T1 , T2 , T3 ] ] ] ( t1 , t2 , t3 )
2023-07-21 10:55:03 +02:00
}
// SequenceParT3 converts 3 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple3].
func SequenceParT3 [ T1 , T2 , T3 any ] ( t1 ReaderIOEither [ T1 ] , t2 ReaderIOEither [ T2 ] , t3 ReaderIOEither [ T3 ] ) ReaderIOEither [ T . Tuple3 [ T1 , T2 , T3 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceParT3 [ ReaderIOEither [ T . Tuple3 [ T1 , T2 , T3 ] ] ] ( t1 , t2 , t3 )
2023-07-21 10:55:03 +02:00
}
2023-07-20 23:22:02 +02:00
// SequenceTuple3 converts a [T.Tuple3] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple3].
func SequenceTuple3 [ T1 , T2 , T3 any ] ( t T . Tuple3 [ ReaderIOEither [ T1 ] , ReaderIOEither [ T2 ] , ReaderIOEither [ T3 ] ] ) ReaderIOEither [ T . Tuple3 [ T1 , T2 , T3 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceTuple3 [ ReaderIOEither [ T . Tuple3 [ T1 , T2 , T3 ] ] ] ( t )
2023-07-20 23:22:02 +02:00
}
2023-07-21 10:55:03 +02:00
// SequenceSeqTuple3 converts a [T.Tuple3] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple3].
func SequenceSeqTuple3 [ T1 , T2 , T3 any ] ( t T . Tuple3 [ ReaderIOEither [ T1 ] , ReaderIOEither [ T2 ] , ReaderIOEither [ T3 ] ] ) ReaderIOEither [ T . Tuple3 [ T1 , T2 , T3 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceSeqTuple3 [ ReaderIOEither [ T . Tuple3 [ T1 , T2 , T3 ] ] ] ( t )
2023-07-21 10:55:03 +02:00
}
// SequenceParTuple3 converts a [T.Tuple3] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple3].
func SequenceParTuple3 [ T1 , T2 , T3 any ] ( t T . Tuple3 [ ReaderIOEither [ T1 ] , ReaderIOEither [ T2 ] , ReaderIOEither [ T3 ] ] ) ReaderIOEither [ T . Tuple3 [ T1 , T2 , T3 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceParTuple3 [ ReaderIOEither [ T . Tuple3 [ T1 , T2 , T3 ] ] ] ( t )
2023-07-21 10:55:03 +02:00
}
// TraverseTuple3 converts a [T.Tuple3] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple3].
func TraverseTuple3 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , F2 ~ func ( A2 ) ReaderIOEither [ T2 ] , F3 ~ func ( A3 ) ReaderIOEither [ T3 ] , A1 , T1 , A2 , T2 , A3 , T3 any ] ( f1 F1 , f2 F2 , f3 F3 ) func ( T . Tuple3 [ A1 , A2 , A3 ] ) ReaderIOEither [ T . Tuple3 [ T1 , T2 , T3 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseTuple3 [ ReaderIOEither [ T . Tuple3 [ T1 , T2 , T3 ] ] ] ( f1 , f2 , f3 )
2023-07-21 10:55:03 +02:00
}
// TraverseSeqTuple3 converts a [T.Tuple3] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple3].
func TraverseSeqTuple3 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , F2 ~ func ( A2 ) ReaderIOEither [ T2 ] , F3 ~ func ( A3 ) ReaderIOEither [ T3 ] , A1 , T1 , A2 , T2 , A3 , T3 any ] ( f1 F1 , f2 F2 , f3 F3 ) func ( T . Tuple3 [ A1 , A2 , A3 ] ) ReaderIOEither [ T . Tuple3 [ T1 , T2 , T3 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseSeqTuple3 [ ReaderIOEither [ T . Tuple3 [ T1 , T2 , T3 ] ] ] ( f1 , f2 , f3 )
2023-07-21 10:55:03 +02:00
}
// TraverseParTuple3 converts a [T.Tuple3] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple3].
func TraverseParTuple3 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , F2 ~ func ( A2 ) ReaderIOEither [ T2 ] , F3 ~ func ( A3 ) ReaderIOEither [ T3 ] , A1 , T1 , A2 , T2 , A3 , T3 any ] ( f1 F1 , f2 F2 , f3 F3 ) func ( T . Tuple3 [ A1 , A2 , A3 ] ) ReaderIOEither [ T . Tuple3 [ T1 , T2 , T3 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseParTuple3 [ ReaderIOEither [ T . Tuple3 [ T1 , T2 , T3 ] ] ] ( f1 , f2 , f3 )
2023-07-21 10:55:03 +02:00
}
2023-07-18 15:24:00 +02:00
// Eitherize4 converts a function with 4 parameters returning a tuple into a function with 4 parameters returning a [ReaderIOEither[R]]
// The inverse function is [Uneitherize4]
func Eitherize4 [ F ~ func ( context . Context , T0 , T1 , T2 , T3 ) ( R , error ) , T0 , T1 , T2 , T3 , R any ] ( f F ) func ( T0 , T1 , T2 , T3 ) ReaderIOEither [ R ] {
2023-07-23 21:45:32 +02:00
return G . Eitherize4 [ ReaderIOEither [ R ] ] ( f )
2023-07-20 16:17:23 +02:00
}
// SequenceT4 converts 4 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple4].
func SequenceT4 [ T1 , T2 , T3 , T4 any ] ( t1 ReaderIOEither [ T1 ] , t2 ReaderIOEither [ T2 ] , t3 ReaderIOEither [ T3 ] , t4 ReaderIOEither [ T4 ] ) ReaderIOEither [ T . Tuple4 [ T1 , T2 , T3 , T4 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceT4 [ ReaderIOEither [ T . Tuple4 [ T1 , T2 , T3 , T4 ] ] ] ( t1 , t2 , t3 , t4 )
2023-07-18 15:24:00 +02:00
}
2023-07-21 10:55:03 +02:00
// SequenceSeqT4 converts 4 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple4].
func SequenceSeqT4 [ T1 , T2 , T3 , T4 any ] ( t1 ReaderIOEither [ T1 ] , t2 ReaderIOEither [ T2 ] , t3 ReaderIOEither [ T3 ] , t4 ReaderIOEither [ T4 ] ) ReaderIOEither [ T . Tuple4 [ T1 , T2 , T3 , T4 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceSeqT4 [ ReaderIOEither [ T . Tuple4 [ T1 , T2 , T3 , T4 ] ] ] ( t1 , t2 , t3 , t4 )
2023-07-21 10:55:03 +02:00
}
// SequenceParT4 converts 4 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple4].
func SequenceParT4 [ T1 , T2 , T3 , T4 any ] ( t1 ReaderIOEither [ T1 ] , t2 ReaderIOEither [ T2 ] , t3 ReaderIOEither [ T3 ] , t4 ReaderIOEither [ T4 ] ) ReaderIOEither [ T . Tuple4 [ T1 , T2 , T3 , T4 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceParT4 [ ReaderIOEither [ T . Tuple4 [ T1 , T2 , T3 , T4 ] ] ] ( t1 , t2 , t3 , t4 )
2023-07-21 10:55:03 +02:00
}
2023-07-20 23:22:02 +02:00
// SequenceTuple4 converts a [T.Tuple4] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple4].
func SequenceTuple4 [ T1 , T2 , T3 , T4 any ] ( t T . Tuple4 [ ReaderIOEither [ T1 ] , ReaderIOEither [ T2 ] , ReaderIOEither [ T3 ] , ReaderIOEither [ T4 ] ] ) ReaderIOEither [ T . Tuple4 [ T1 , T2 , T3 , T4 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceTuple4 [ ReaderIOEither [ T . Tuple4 [ T1 , T2 , T3 , T4 ] ] ] ( t )
2023-07-20 23:22:02 +02:00
}
2023-07-21 10:55:03 +02:00
// SequenceSeqTuple4 converts a [T.Tuple4] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple4].
func SequenceSeqTuple4 [ T1 , T2 , T3 , T4 any ] ( t T . Tuple4 [ ReaderIOEither [ T1 ] , ReaderIOEither [ T2 ] , ReaderIOEither [ T3 ] , ReaderIOEither [ T4 ] ] ) ReaderIOEither [ T . Tuple4 [ T1 , T2 , T3 , T4 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceSeqTuple4 [ ReaderIOEither [ T . Tuple4 [ T1 , T2 , T3 , T4 ] ] ] ( t )
2023-07-21 10:55:03 +02:00
}
// SequenceParTuple4 converts a [T.Tuple4] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple4].
func SequenceParTuple4 [ T1 , T2 , T3 , T4 any ] ( t T . Tuple4 [ ReaderIOEither [ T1 ] , ReaderIOEither [ T2 ] , ReaderIOEither [ T3 ] , ReaderIOEither [ T4 ] ] ) ReaderIOEither [ T . Tuple4 [ T1 , T2 , T3 , T4 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceParTuple4 [ ReaderIOEither [ T . Tuple4 [ T1 , T2 , T3 , T4 ] ] ] ( t )
2023-07-21 10:55:03 +02:00
}
// TraverseTuple4 converts a [T.Tuple4] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple4].
func TraverseTuple4 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , F2 ~ func ( A2 ) ReaderIOEither [ T2 ] , F3 ~ func ( A3 ) ReaderIOEither [ T3 ] , F4 ~ func ( A4 ) ReaderIOEither [ T4 ] , A1 , T1 , A2 , T2 , A3 , T3 , A4 , T4 any ] ( f1 F1 , f2 F2 , f3 F3 , f4 F4 ) func ( T . Tuple4 [ A1 , A2 , A3 , A4 ] ) ReaderIOEither [ T . Tuple4 [ T1 , T2 , T3 , T4 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseTuple4 [ ReaderIOEither [ T . Tuple4 [ T1 , T2 , T3 , T4 ] ] ] ( f1 , f2 , f3 , f4 )
2023-07-21 10:55:03 +02:00
}
// TraverseSeqTuple4 converts a [T.Tuple4] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple4].
func TraverseSeqTuple4 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , F2 ~ func ( A2 ) ReaderIOEither [ T2 ] , F3 ~ func ( A3 ) ReaderIOEither [ T3 ] , F4 ~ func ( A4 ) ReaderIOEither [ T4 ] , A1 , T1 , A2 , T2 , A3 , T3 , A4 , T4 any ] ( f1 F1 , f2 F2 , f3 F3 , f4 F4 ) func ( T . Tuple4 [ A1 , A2 , A3 , A4 ] ) ReaderIOEither [ T . Tuple4 [ T1 , T2 , T3 , T4 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseSeqTuple4 [ ReaderIOEither [ T . Tuple4 [ T1 , T2 , T3 , T4 ] ] ] ( f1 , f2 , f3 , f4 )
2023-07-21 10:55:03 +02:00
}
// TraverseParTuple4 converts a [T.Tuple4] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple4].
func TraverseParTuple4 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , F2 ~ func ( A2 ) ReaderIOEither [ T2 ] , F3 ~ func ( A3 ) ReaderIOEither [ T3 ] , F4 ~ func ( A4 ) ReaderIOEither [ T4 ] , A1 , T1 , A2 , T2 , A3 , T3 , A4 , T4 any ] ( f1 F1 , f2 F2 , f3 F3 , f4 F4 ) func ( T . Tuple4 [ A1 , A2 , A3 , A4 ] ) ReaderIOEither [ T . Tuple4 [ T1 , T2 , T3 , T4 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseParTuple4 [ ReaderIOEither [ T . Tuple4 [ T1 , T2 , T3 , T4 ] ] ] ( f1 , f2 , f3 , f4 )
2023-07-21 10:55:03 +02:00
}
2023-07-18 15:24:00 +02:00
// Eitherize5 converts a function with 5 parameters returning a tuple into a function with 5 parameters returning a [ReaderIOEither[R]]
// The inverse function is [Uneitherize5]
func Eitherize5 [ F ~ func ( context . Context , T0 , T1 , T2 , T3 , T4 ) ( R , error ) , T0 , T1 , T2 , T3 , T4 , R any ] ( f F ) func ( T0 , T1 , T2 , T3 , T4 ) ReaderIOEither [ R ] {
2023-07-23 21:45:32 +02:00
return G . Eitherize5 [ ReaderIOEither [ R ] ] ( f )
2023-07-20 16:17:23 +02:00
}
// SequenceT5 converts 5 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple5].
func SequenceT5 [ T1 , T2 , T3 , T4 , T5 any ] ( t1 ReaderIOEither [ T1 ] , t2 ReaderIOEither [ T2 ] , t3 ReaderIOEither [ T3 ] , t4 ReaderIOEither [ T4 ] , t5 ReaderIOEither [ T5 ] ) ReaderIOEither [ T . Tuple5 [ T1 , T2 , T3 , T4 , T5 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceT5 [ ReaderIOEither [ T . Tuple5 [ T1 , T2 , T3 , T4 , T5 ] ] ] ( t1 , t2 , t3 , t4 , t5 )
2023-07-18 15:24:00 +02:00
}
2023-07-21 10:55:03 +02:00
// SequenceSeqT5 converts 5 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple5].
func SequenceSeqT5 [ T1 , T2 , T3 , T4 , T5 any ] ( t1 ReaderIOEither [ T1 ] , t2 ReaderIOEither [ T2 ] , t3 ReaderIOEither [ T3 ] , t4 ReaderIOEither [ T4 ] , t5 ReaderIOEither [ T5 ] ) ReaderIOEither [ T . Tuple5 [ T1 , T2 , T3 , T4 , T5 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceSeqT5 [ ReaderIOEither [ T . Tuple5 [ T1 , T2 , T3 , T4 , T5 ] ] ] ( t1 , t2 , t3 , t4 , t5 )
2023-07-21 10:55:03 +02:00
}
// SequenceParT5 converts 5 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple5].
func SequenceParT5 [ T1 , T2 , T3 , T4 , T5 any ] ( t1 ReaderIOEither [ T1 ] , t2 ReaderIOEither [ T2 ] , t3 ReaderIOEither [ T3 ] , t4 ReaderIOEither [ T4 ] , t5 ReaderIOEither [ T5 ] ) ReaderIOEither [ T . Tuple5 [ T1 , T2 , T3 , T4 , T5 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceParT5 [ ReaderIOEither [ T . Tuple5 [ T1 , T2 , T3 , T4 , T5 ] ] ] ( t1 , t2 , t3 , t4 , t5 )
2023-07-21 10:55:03 +02:00
}
2023-07-20 23:22:02 +02:00
// SequenceTuple5 converts a [T.Tuple5] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple5].
func SequenceTuple5 [ T1 , T2 , T3 , T4 , T5 any ] ( t T . Tuple5 [ ReaderIOEither [ T1 ] , ReaderIOEither [ T2 ] , ReaderIOEither [ T3 ] , ReaderIOEither [ T4 ] , ReaderIOEither [ T5 ] ] ) ReaderIOEither [ T . Tuple5 [ T1 , T2 , T3 , T4 , T5 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceTuple5 [ ReaderIOEither [ T . Tuple5 [ T1 , T2 , T3 , T4 , T5 ] ] ] ( t )
2023-07-20 23:22:02 +02:00
}
2023-07-21 10:55:03 +02:00
// SequenceSeqTuple5 converts a [T.Tuple5] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple5].
func SequenceSeqTuple5 [ T1 , T2 , T3 , T4 , T5 any ] ( t T . Tuple5 [ ReaderIOEither [ T1 ] , ReaderIOEither [ T2 ] , ReaderIOEither [ T3 ] , ReaderIOEither [ T4 ] , ReaderIOEither [ T5 ] ] ) ReaderIOEither [ T . Tuple5 [ T1 , T2 , T3 , T4 , T5 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceSeqTuple5 [ ReaderIOEither [ T . Tuple5 [ T1 , T2 , T3 , T4 , T5 ] ] ] ( t )
2023-07-21 10:55:03 +02:00
}
// SequenceParTuple5 converts a [T.Tuple5] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple5].
func SequenceParTuple5 [ T1 , T2 , T3 , T4 , T5 any ] ( t T . Tuple5 [ ReaderIOEither [ T1 ] , ReaderIOEither [ T2 ] , ReaderIOEither [ T3 ] , ReaderIOEither [ T4 ] , ReaderIOEither [ T5 ] ] ) ReaderIOEither [ T . Tuple5 [ T1 , T2 , T3 , T4 , T5 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceParTuple5 [ ReaderIOEither [ T . Tuple5 [ T1 , T2 , T3 , T4 , T5 ] ] ] ( t )
2023-07-21 10:55:03 +02:00
}
// TraverseTuple5 converts a [T.Tuple5] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple5].
func TraverseTuple5 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , F2 ~ func ( A2 ) ReaderIOEither [ T2 ] , F3 ~ func ( A3 ) ReaderIOEither [ T3 ] , F4 ~ func ( A4 ) ReaderIOEither [ T4 ] , F5 ~ func ( A5 ) ReaderIOEither [ T5 ] , A1 , T1 , A2 , T2 , A3 , T3 , A4 , T4 , A5 , T5 any ] ( f1 F1 , f2 F2 , f3 F3 , f4 F4 , f5 F5 ) func ( T . Tuple5 [ A1 , A2 , A3 , A4 , A5 ] ) ReaderIOEither [ T . Tuple5 [ T1 , T2 , T3 , T4 , T5 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseTuple5 [ ReaderIOEither [ T . Tuple5 [ T1 , T2 , T3 , T4 , T5 ] ] ] ( f1 , f2 , f3 , f4 , f5 )
2023-07-21 10:55:03 +02:00
}
// TraverseSeqTuple5 converts a [T.Tuple5] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple5].
func TraverseSeqTuple5 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , F2 ~ func ( A2 ) ReaderIOEither [ T2 ] , F3 ~ func ( A3 ) ReaderIOEither [ T3 ] , F4 ~ func ( A4 ) ReaderIOEither [ T4 ] , F5 ~ func ( A5 ) ReaderIOEither [ T5 ] , A1 , T1 , A2 , T2 , A3 , T3 , A4 , T4 , A5 , T5 any ] ( f1 F1 , f2 F2 , f3 F3 , f4 F4 , f5 F5 ) func ( T . Tuple5 [ A1 , A2 , A3 , A4 , A5 ] ) ReaderIOEither [ T . Tuple5 [ T1 , T2 , T3 , T4 , T5 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseSeqTuple5 [ ReaderIOEither [ T . Tuple5 [ T1 , T2 , T3 , T4 , T5 ] ] ] ( f1 , f2 , f3 , f4 , f5 )
2023-07-21 10:55:03 +02:00
}
// TraverseParTuple5 converts a [T.Tuple5] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple5].
func TraverseParTuple5 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , F2 ~ func ( A2 ) ReaderIOEither [ T2 ] , F3 ~ func ( A3 ) ReaderIOEither [ T3 ] , F4 ~ func ( A4 ) ReaderIOEither [ T4 ] , F5 ~ func ( A5 ) ReaderIOEither [ T5 ] , A1 , T1 , A2 , T2 , A3 , T3 , A4 , T4 , A5 , T5 any ] ( f1 F1 , f2 F2 , f3 F3 , f4 F4 , f5 F5 ) func ( T . Tuple5 [ A1 , A2 , A3 , A4 , A5 ] ) ReaderIOEither [ T . Tuple5 [ T1 , T2 , T3 , T4 , T5 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseParTuple5 [ ReaderIOEither [ T . Tuple5 [ T1 , T2 , T3 , T4 , T5 ] ] ] ( f1 , f2 , f3 , f4 , f5 )
2023-07-21 10:55:03 +02:00
}
2023-07-18 15:24:00 +02:00
// Eitherize6 converts a function with 6 parameters returning a tuple into a function with 6 parameters returning a [ReaderIOEither[R]]
// The inverse function is [Uneitherize6]
func Eitherize6 [ F ~ func ( context . Context , T0 , T1 , T2 , T3 , T4 , T5 ) ( R , error ) , T0 , T1 , T2 , T3 , T4 , T5 , R any ] ( f F ) func ( T0 , T1 , T2 , T3 , T4 , T5 ) ReaderIOEither [ R ] {
2023-07-23 21:45:32 +02:00
return G . Eitherize6 [ ReaderIOEither [ R ] ] ( f )
2023-07-20 16:17:23 +02:00
}
// SequenceT6 converts 6 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple6].
func SequenceT6 [ T1 , T2 , T3 , T4 , T5 , T6 any ] ( t1 ReaderIOEither [ T1 ] , t2 ReaderIOEither [ T2 ] , t3 ReaderIOEither [ T3 ] , t4 ReaderIOEither [ T4 ] , t5 ReaderIOEither [ T5 ] , t6 ReaderIOEither [ T6 ] ) ReaderIOEither [ T . Tuple6 [ T1 , T2 , T3 , T4 , T5 , T6 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceT6 [ ReaderIOEither [ T . Tuple6 [ T1 , T2 , T3 , T4 , T5 , T6 ] ] ] ( t1 , t2 , t3 , t4 , t5 , t6 )
2023-07-18 15:24:00 +02:00
}
2023-07-21 10:55:03 +02:00
// SequenceSeqT6 converts 6 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple6].
func SequenceSeqT6 [ T1 , T2 , T3 , T4 , T5 , T6 any ] ( t1 ReaderIOEither [ T1 ] , t2 ReaderIOEither [ T2 ] , t3 ReaderIOEither [ T3 ] , t4 ReaderIOEither [ T4 ] , t5 ReaderIOEither [ T5 ] , t6 ReaderIOEither [ T6 ] ) ReaderIOEither [ T . Tuple6 [ T1 , T2 , T3 , T4 , T5 , T6 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceSeqT6 [ ReaderIOEither [ T . Tuple6 [ T1 , T2 , T3 , T4 , T5 , T6 ] ] ] ( t1 , t2 , t3 , t4 , t5 , t6 )
2023-07-21 10:55:03 +02:00
}
// SequenceParT6 converts 6 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple6].
func SequenceParT6 [ T1 , T2 , T3 , T4 , T5 , T6 any ] ( t1 ReaderIOEither [ T1 ] , t2 ReaderIOEither [ T2 ] , t3 ReaderIOEither [ T3 ] , t4 ReaderIOEither [ T4 ] , t5 ReaderIOEither [ T5 ] , t6 ReaderIOEither [ T6 ] ) ReaderIOEither [ T . Tuple6 [ T1 , T2 , T3 , T4 , T5 , T6 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceParT6 [ ReaderIOEither [ T . Tuple6 [ T1 , T2 , T3 , T4 , T5 , T6 ] ] ] ( t1 , t2 , t3 , t4 , t5 , t6 )
2023-07-21 10:55:03 +02:00
}
2023-07-20 23:22:02 +02:00
// SequenceTuple6 converts a [T.Tuple6] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple6].
func SequenceTuple6 [ T1 , T2 , T3 , T4 , T5 , T6 any ] ( t T . Tuple6 [ ReaderIOEither [ T1 ] , ReaderIOEither [ T2 ] , ReaderIOEither [ T3 ] , ReaderIOEither [ T4 ] , ReaderIOEither [ T5 ] , ReaderIOEither [ T6 ] ] ) ReaderIOEither [ T . Tuple6 [ T1 , T2 , T3 , T4 , T5 , T6 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceTuple6 [ ReaderIOEither [ T . Tuple6 [ T1 , T2 , T3 , T4 , T5 , T6 ] ] ] ( t )
2023-07-20 23:22:02 +02:00
}
2023-07-21 10:55:03 +02:00
// SequenceSeqTuple6 converts a [T.Tuple6] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple6].
func SequenceSeqTuple6 [ T1 , T2 , T3 , T4 , T5 , T6 any ] ( t T . Tuple6 [ ReaderIOEither [ T1 ] , ReaderIOEither [ T2 ] , ReaderIOEither [ T3 ] , ReaderIOEither [ T4 ] , ReaderIOEither [ T5 ] , ReaderIOEither [ T6 ] ] ) ReaderIOEither [ T . Tuple6 [ T1 , T2 , T3 , T4 , T5 , T6 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceSeqTuple6 [ ReaderIOEither [ T . Tuple6 [ T1 , T2 , T3 , T4 , T5 , T6 ] ] ] ( t )
2023-07-21 10:55:03 +02:00
}
// SequenceParTuple6 converts a [T.Tuple6] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple6].
func SequenceParTuple6 [ T1 , T2 , T3 , T4 , T5 , T6 any ] ( t T . Tuple6 [ ReaderIOEither [ T1 ] , ReaderIOEither [ T2 ] , ReaderIOEither [ T3 ] , ReaderIOEither [ T4 ] , ReaderIOEither [ T5 ] , ReaderIOEither [ T6 ] ] ) ReaderIOEither [ T . Tuple6 [ T1 , T2 , T3 , T4 , T5 , T6 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceParTuple6 [ ReaderIOEither [ T . Tuple6 [ T1 , T2 , T3 , T4 , T5 , T6 ] ] ] ( t )
2023-07-21 10:55:03 +02:00
}
// TraverseTuple6 converts a [T.Tuple6] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple6].
func TraverseTuple6 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , F2 ~ func ( A2 ) ReaderIOEither [ T2 ] , F3 ~ func ( A3 ) ReaderIOEither [ T3 ] , F4 ~ func ( A4 ) ReaderIOEither [ T4 ] , F5 ~ func ( A5 ) ReaderIOEither [ T5 ] , F6 ~ func ( A6 ) ReaderIOEither [ T6 ] , A1 , T1 , A2 , T2 , A3 , T3 , A4 , T4 , A5 , T5 , A6 , T6 any ] ( f1 F1 , f2 F2 , f3 F3 , f4 F4 , f5 F5 , f6 F6 ) func ( T . Tuple6 [ A1 , A2 , A3 , A4 , A5 , A6 ] ) ReaderIOEither [ T . Tuple6 [ T1 , T2 , T3 , T4 , T5 , T6 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseTuple6 [ ReaderIOEither [ T . Tuple6 [ T1 , T2 , T3 , T4 , T5 , T6 ] ] ] ( f1 , f2 , f3 , f4 , f5 , f6 )
2023-07-21 10:55:03 +02:00
}
// TraverseSeqTuple6 converts a [T.Tuple6] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple6].
func TraverseSeqTuple6 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , F2 ~ func ( A2 ) ReaderIOEither [ T2 ] , F3 ~ func ( A3 ) ReaderIOEither [ T3 ] , F4 ~ func ( A4 ) ReaderIOEither [ T4 ] , F5 ~ func ( A5 ) ReaderIOEither [ T5 ] , F6 ~ func ( A6 ) ReaderIOEither [ T6 ] , A1 , T1 , A2 , T2 , A3 , T3 , A4 , T4 , A5 , T5 , A6 , T6 any ] ( f1 F1 , f2 F2 , f3 F3 , f4 F4 , f5 F5 , f6 F6 ) func ( T . Tuple6 [ A1 , A2 , A3 , A4 , A5 , A6 ] ) ReaderIOEither [ T . Tuple6 [ T1 , T2 , T3 , T4 , T5 , T6 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseSeqTuple6 [ ReaderIOEither [ T . Tuple6 [ T1 , T2 , T3 , T4 , T5 , T6 ] ] ] ( f1 , f2 , f3 , f4 , f5 , f6 )
2023-07-21 10:55:03 +02:00
}
// TraverseParTuple6 converts a [T.Tuple6] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple6].
func TraverseParTuple6 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , F2 ~ func ( A2 ) ReaderIOEither [ T2 ] , F3 ~ func ( A3 ) ReaderIOEither [ T3 ] , F4 ~ func ( A4 ) ReaderIOEither [ T4 ] , F5 ~ func ( A5 ) ReaderIOEither [ T5 ] , F6 ~ func ( A6 ) ReaderIOEither [ T6 ] , A1 , T1 , A2 , T2 , A3 , T3 , A4 , T4 , A5 , T5 , A6 , T6 any ] ( f1 F1 , f2 F2 , f3 F3 , f4 F4 , f5 F5 , f6 F6 ) func ( T . Tuple6 [ A1 , A2 , A3 , A4 , A5 , A6 ] ) ReaderIOEither [ T . Tuple6 [ T1 , T2 , T3 , T4 , T5 , T6 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseParTuple6 [ ReaderIOEither [ T . Tuple6 [ T1 , T2 , T3 , T4 , T5 , T6 ] ] ] ( f1 , f2 , f3 , f4 , f5 , f6 )
2023-07-21 10:55:03 +02:00
}
2023-07-18 15:24:00 +02:00
// Eitherize7 converts a function with 7 parameters returning a tuple into a function with 7 parameters returning a [ReaderIOEither[R]]
// The inverse function is [Uneitherize7]
func Eitherize7 [ F ~ func ( context . Context , T0 , T1 , T2 , T3 , T4 , T5 , T6 ) ( R , error ) , T0 , T1 , T2 , T3 , T4 , T5 , T6 , R any ] ( f F ) func ( T0 , T1 , T2 , T3 , T4 , T5 , T6 ) ReaderIOEither [ R ] {
2023-07-23 21:45:32 +02:00
return G . Eitherize7 [ ReaderIOEither [ R ] ] ( f )
2023-07-20 16:17:23 +02:00
}
// SequenceT7 converts 7 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple7].
func SequenceT7 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 any ] ( t1 ReaderIOEither [ T1 ] , t2 ReaderIOEither [ T2 ] , t3 ReaderIOEither [ T3 ] , t4 ReaderIOEither [ T4 ] , t5 ReaderIOEither [ T5 ] , t6 ReaderIOEither [ T6 ] , t7 ReaderIOEither [ T7 ] ) ReaderIOEither [ T . Tuple7 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceT7 [ ReaderIOEither [ T . Tuple7 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 ] ] ] ( t1 , t2 , t3 , t4 , t5 , t6 , t7 )
2023-07-18 15:24:00 +02:00
}
2023-07-21 10:55:03 +02:00
// SequenceSeqT7 converts 7 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple7].
func SequenceSeqT7 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 any ] ( t1 ReaderIOEither [ T1 ] , t2 ReaderIOEither [ T2 ] , t3 ReaderIOEither [ T3 ] , t4 ReaderIOEither [ T4 ] , t5 ReaderIOEither [ T5 ] , t6 ReaderIOEither [ T6 ] , t7 ReaderIOEither [ T7 ] ) ReaderIOEither [ T . Tuple7 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceSeqT7 [ ReaderIOEither [ T . Tuple7 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 ] ] ] ( t1 , t2 , t3 , t4 , t5 , t6 , t7 )
2023-07-21 10:55:03 +02:00
}
// SequenceParT7 converts 7 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple7].
func SequenceParT7 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 any ] ( t1 ReaderIOEither [ T1 ] , t2 ReaderIOEither [ T2 ] , t3 ReaderIOEither [ T3 ] , t4 ReaderIOEither [ T4 ] , t5 ReaderIOEither [ T5 ] , t6 ReaderIOEither [ T6 ] , t7 ReaderIOEither [ T7 ] ) ReaderIOEither [ T . Tuple7 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceParT7 [ ReaderIOEither [ T . Tuple7 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 ] ] ] ( t1 , t2 , t3 , t4 , t5 , t6 , t7 )
2023-07-21 10:55:03 +02:00
}
2023-07-20 23:22:02 +02:00
// SequenceTuple7 converts a [T.Tuple7] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple7].
func SequenceTuple7 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 any ] ( t T . Tuple7 [ ReaderIOEither [ T1 ] , ReaderIOEither [ T2 ] , ReaderIOEither [ T3 ] , ReaderIOEither [ T4 ] , ReaderIOEither [ T5 ] , ReaderIOEither [ T6 ] , ReaderIOEither [ T7 ] ] ) ReaderIOEither [ T . Tuple7 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceTuple7 [ ReaderIOEither [ T . Tuple7 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 ] ] ] ( t )
2023-07-20 23:22:02 +02:00
}
2023-07-21 10:55:03 +02:00
// SequenceSeqTuple7 converts a [T.Tuple7] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple7].
func SequenceSeqTuple7 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 any ] ( t T . Tuple7 [ ReaderIOEither [ T1 ] , ReaderIOEither [ T2 ] , ReaderIOEither [ T3 ] , ReaderIOEither [ T4 ] , ReaderIOEither [ T5 ] , ReaderIOEither [ T6 ] , ReaderIOEither [ T7 ] ] ) ReaderIOEither [ T . Tuple7 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceSeqTuple7 [ ReaderIOEither [ T . Tuple7 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 ] ] ] ( t )
2023-07-21 10:55:03 +02:00
}
// SequenceParTuple7 converts a [T.Tuple7] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple7].
func SequenceParTuple7 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 any ] ( t T . Tuple7 [ ReaderIOEither [ T1 ] , ReaderIOEither [ T2 ] , ReaderIOEither [ T3 ] , ReaderIOEither [ T4 ] , ReaderIOEither [ T5 ] , ReaderIOEither [ T6 ] , ReaderIOEither [ T7 ] ] ) ReaderIOEither [ T . Tuple7 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceParTuple7 [ ReaderIOEither [ T . Tuple7 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 ] ] ] ( t )
2023-07-21 10:55:03 +02:00
}
// TraverseTuple7 converts a [T.Tuple7] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple7].
func TraverseTuple7 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , F2 ~ func ( A2 ) ReaderIOEither [ T2 ] , F3 ~ func ( A3 ) ReaderIOEither [ T3 ] , F4 ~ func ( A4 ) ReaderIOEither [ T4 ] , F5 ~ func ( A5 ) ReaderIOEither [ T5 ] , F6 ~ func ( A6 ) ReaderIOEither [ T6 ] , F7 ~ func ( A7 ) ReaderIOEither [ T7 ] , A1 , T1 , A2 , T2 , A3 , T3 , A4 , T4 , A5 , T5 , A6 , T6 , A7 , 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 ] ) ReaderIOEither [ T . Tuple7 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseTuple7 [ ReaderIOEither [ T . Tuple7 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 ] ] ] ( f1 , f2 , f3 , f4 , f5 , f6 , f7 )
2023-07-21 10:55:03 +02:00
}
// TraverseSeqTuple7 converts a [T.Tuple7] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple7].
func TraverseSeqTuple7 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , F2 ~ func ( A2 ) ReaderIOEither [ T2 ] , F3 ~ func ( A3 ) ReaderIOEither [ T3 ] , F4 ~ func ( A4 ) ReaderIOEither [ T4 ] , F5 ~ func ( A5 ) ReaderIOEither [ T5 ] , F6 ~ func ( A6 ) ReaderIOEither [ T6 ] , F7 ~ func ( A7 ) ReaderIOEither [ T7 ] , A1 , T1 , A2 , T2 , A3 , T3 , A4 , T4 , A5 , T5 , A6 , T6 , A7 , 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 ] ) ReaderIOEither [ T . Tuple7 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseSeqTuple7 [ ReaderIOEither [ T . Tuple7 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 ] ] ] ( f1 , f2 , f3 , f4 , f5 , f6 , f7 )
2023-07-21 10:55:03 +02:00
}
// TraverseParTuple7 converts a [T.Tuple7] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple7].
func TraverseParTuple7 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , F2 ~ func ( A2 ) ReaderIOEither [ T2 ] , F3 ~ func ( A3 ) ReaderIOEither [ T3 ] , F4 ~ func ( A4 ) ReaderIOEither [ T4 ] , F5 ~ func ( A5 ) ReaderIOEither [ T5 ] , F6 ~ func ( A6 ) ReaderIOEither [ T6 ] , F7 ~ func ( A7 ) ReaderIOEither [ T7 ] , A1 , T1 , A2 , T2 , A3 , T3 , A4 , T4 , A5 , T5 , A6 , T6 , A7 , 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 ] ) ReaderIOEither [ T . Tuple7 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseParTuple7 [ ReaderIOEither [ T . Tuple7 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 ] ] ] ( f1 , f2 , f3 , f4 , f5 , f6 , f7 )
2023-07-21 10:55:03 +02:00
}
2023-07-18 15:24:00 +02:00
// Eitherize8 converts a function with 8 parameters returning a tuple into a function with 8 parameters returning a [ReaderIOEither[R]]
// The inverse function is [Uneitherize8]
func Eitherize8 [ F ~ func ( context . Context , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ) ( R , error ) , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , R any ] ( f F ) func ( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ) ReaderIOEither [ R ] {
2023-07-23 21:45:32 +02:00
return G . Eitherize8 [ ReaderIOEither [ R ] ] ( f )
2023-07-20 16:17:23 +02:00
}
// SequenceT8 converts 8 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple8].
func SequenceT8 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 any ] ( t1 ReaderIOEither [ T1 ] , t2 ReaderIOEither [ T2 ] , t3 ReaderIOEither [ T3 ] , t4 ReaderIOEither [ T4 ] , t5 ReaderIOEither [ T5 ] , t6 ReaderIOEither [ T6 ] , t7 ReaderIOEither [ T7 ] , t8 ReaderIOEither [ T8 ] ) ReaderIOEither [ T . Tuple8 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceT8 [ ReaderIOEither [ T . Tuple8 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ] ] ] ( t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 )
2023-07-18 15:24:00 +02:00
}
2023-07-21 10:55:03 +02:00
// SequenceSeqT8 converts 8 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple8].
func SequenceSeqT8 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 any ] ( t1 ReaderIOEither [ T1 ] , t2 ReaderIOEither [ T2 ] , t3 ReaderIOEither [ T3 ] , t4 ReaderIOEither [ T4 ] , t5 ReaderIOEither [ T5 ] , t6 ReaderIOEither [ T6 ] , t7 ReaderIOEither [ T7 ] , t8 ReaderIOEither [ T8 ] ) ReaderIOEither [ T . Tuple8 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceSeqT8 [ ReaderIOEither [ T . Tuple8 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ] ] ] ( t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 )
2023-07-21 10:55:03 +02:00
}
// SequenceParT8 converts 8 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple8].
func SequenceParT8 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 any ] ( t1 ReaderIOEither [ T1 ] , t2 ReaderIOEither [ T2 ] , t3 ReaderIOEither [ T3 ] , t4 ReaderIOEither [ T4 ] , t5 ReaderIOEither [ T5 ] , t6 ReaderIOEither [ T6 ] , t7 ReaderIOEither [ T7 ] , t8 ReaderIOEither [ T8 ] ) ReaderIOEither [ T . Tuple8 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceParT8 [ ReaderIOEither [ T . Tuple8 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ] ] ] ( t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 )
2023-07-21 10:55:03 +02:00
}
2023-07-20 23:22:02 +02:00
// SequenceTuple8 converts a [T.Tuple8] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple8].
func SequenceTuple8 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 any ] ( t T . Tuple8 [ ReaderIOEither [ T1 ] , ReaderIOEither [ T2 ] , ReaderIOEither [ T3 ] , ReaderIOEither [ T4 ] , ReaderIOEither [ T5 ] , ReaderIOEither [ T6 ] , ReaderIOEither [ T7 ] , ReaderIOEither [ T8 ] ] ) ReaderIOEither [ T . Tuple8 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceTuple8 [ ReaderIOEither [ T . Tuple8 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ] ] ] ( t )
2023-07-20 23:22:02 +02:00
}
2023-07-21 10:55:03 +02:00
// SequenceSeqTuple8 converts a [T.Tuple8] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple8].
func SequenceSeqTuple8 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 any ] ( t T . Tuple8 [ ReaderIOEither [ T1 ] , ReaderIOEither [ T2 ] , ReaderIOEither [ T3 ] , ReaderIOEither [ T4 ] , ReaderIOEither [ T5 ] , ReaderIOEither [ T6 ] , ReaderIOEither [ T7 ] , ReaderIOEither [ T8 ] ] ) ReaderIOEither [ T . Tuple8 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceSeqTuple8 [ ReaderIOEither [ T . Tuple8 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ] ] ] ( t )
2023-07-21 10:55:03 +02:00
}
// SequenceParTuple8 converts a [T.Tuple8] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple8].
func SequenceParTuple8 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 any ] ( t T . Tuple8 [ ReaderIOEither [ T1 ] , ReaderIOEither [ T2 ] , ReaderIOEither [ T3 ] , ReaderIOEither [ T4 ] , ReaderIOEither [ T5 ] , ReaderIOEither [ T6 ] , ReaderIOEither [ T7 ] , ReaderIOEither [ T8 ] ] ) ReaderIOEither [ T . Tuple8 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceParTuple8 [ ReaderIOEither [ T . Tuple8 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ] ] ] ( t )
2023-07-21 10:55:03 +02:00
}
// TraverseTuple8 converts a [T.Tuple8] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple8].
func TraverseTuple8 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , F2 ~ func ( A2 ) ReaderIOEither [ T2 ] , F3 ~ func ( A3 ) ReaderIOEither [ T3 ] , F4 ~ func ( A4 ) ReaderIOEither [ T4 ] , F5 ~ func ( A5 ) ReaderIOEither [ T5 ] , F6 ~ func ( A6 ) ReaderIOEither [ T6 ] , F7 ~ func ( A7 ) ReaderIOEither [ T7 ] , F8 ~ func ( A8 ) ReaderIOEither [ T8 ] , A1 , T1 , A2 , T2 , A3 , T3 , A4 , T4 , A5 , T5 , A6 , T6 , A7 , T7 , A8 , 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 ] ) ReaderIOEither [ T . Tuple8 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseTuple8 [ ReaderIOEither [ T . Tuple8 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ] ] ] ( f1 , f2 , f3 , f4 , f5 , f6 , f7 , f8 )
2023-07-21 10:55:03 +02:00
}
// TraverseSeqTuple8 converts a [T.Tuple8] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple8].
func TraverseSeqTuple8 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , F2 ~ func ( A2 ) ReaderIOEither [ T2 ] , F3 ~ func ( A3 ) ReaderIOEither [ T3 ] , F4 ~ func ( A4 ) ReaderIOEither [ T4 ] , F5 ~ func ( A5 ) ReaderIOEither [ T5 ] , F6 ~ func ( A6 ) ReaderIOEither [ T6 ] , F7 ~ func ( A7 ) ReaderIOEither [ T7 ] , F8 ~ func ( A8 ) ReaderIOEither [ T8 ] , A1 , T1 , A2 , T2 , A3 , T3 , A4 , T4 , A5 , T5 , A6 , T6 , A7 , T7 , A8 , 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 ] ) ReaderIOEither [ T . Tuple8 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseSeqTuple8 [ ReaderIOEither [ T . Tuple8 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ] ] ] ( f1 , f2 , f3 , f4 , f5 , f6 , f7 , f8 )
2023-07-21 10:55:03 +02:00
}
// TraverseParTuple8 converts a [T.Tuple8] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple8].
func TraverseParTuple8 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , F2 ~ func ( A2 ) ReaderIOEither [ T2 ] , F3 ~ func ( A3 ) ReaderIOEither [ T3 ] , F4 ~ func ( A4 ) ReaderIOEither [ T4 ] , F5 ~ func ( A5 ) ReaderIOEither [ T5 ] , F6 ~ func ( A6 ) ReaderIOEither [ T6 ] , F7 ~ func ( A7 ) ReaderIOEither [ T7 ] , F8 ~ func ( A8 ) ReaderIOEither [ T8 ] , A1 , T1 , A2 , T2 , A3 , T3 , A4 , T4 , A5 , T5 , A6 , T6 , A7 , T7 , A8 , 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 ] ) ReaderIOEither [ T . Tuple8 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseParTuple8 [ ReaderIOEither [ T . Tuple8 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ] ] ] ( f1 , f2 , f3 , f4 , f5 , f6 , f7 , f8 )
2023-07-21 10:55:03 +02:00
}
2023-07-18 15:24:00 +02:00
// Eitherize9 converts a function with 9 parameters returning a tuple into a function with 9 parameters returning a [ReaderIOEither[R]]
// The inverse function is [Uneitherize9]
func Eitherize9 [ F ~ func ( context . Context , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ) ( R , error ) , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , R any ] ( f F ) func ( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ) ReaderIOEither [ R ] {
2023-07-23 21:45:32 +02:00
return G . Eitherize9 [ ReaderIOEither [ R ] ] ( f )
2023-07-20 16:17:23 +02:00
}
// SequenceT9 converts 9 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple9].
func SequenceT9 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 any ] ( t1 ReaderIOEither [ T1 ] , t2 ReaderIOEither [ T2 ] , t3 ReaderIOEither [ T3 ] , t4 ReaderIOEither [ T4 ] , t5 ReaderIOEither [ T5 ] , t6 ReaderIOEither [ T6 ] , t7 ReaderIOEither [ T7 ] , t8 ReaderIOEither [ T8 ] , t9 ReaderIOEither [ T9 ] ) ReaderIOEither [ T . Tuple9 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceT9 [ ReaderIOEither [ T . Tuple9 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ] ] ] ( t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 )
2023-07-18 15:24:00 +02:00
}
2023-07-21 10:55:03 +02:00
// SequenceSeqT9 converts 9 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple9].
func SequenceSeqT9 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 any ] ( t1 ReaderIOEither [ T1 ] , t2 ReaderIOEither [ T2 ] , t3 ReaderIOEither [ T3 ] , t4 ReaderIOEither [ T4 ] , t5 ReaderIOEither [ T5 ] , t6 ReaderIOEither [ T6 ] , t7 ReaderIOEither [ T7 ] , t8 ReaderIOEither [ T8 ] , t9 ReaderIOEither [ T9 ] ) ReaderIOEither [ T . Tuple9 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceSeqT9 [ ReaderIOEither [ T . Tuple9 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ] ] ] ( t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 )
2023-07-21 10:55:03 +02:00
}
// SequenceParT9 converts 9 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple9].
func SequenceParT9 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 any ] ( t1 ReaderIOEither [ T1 ] , t2 ReaderIOEither [ T2 ] , t3 ReaderIOEither [ T3 ] , t4 ReaderIOEither [ T4 ] , t5 ReaderIOEither [ T5 ] , t6 ReaderIOEither [ T6 ] , t7 ReaderIOEither [ T7 ] , t8 ReaderIOEither [ T8 ] , t9 ReaderIOEither [ T9 ] ) ReaderIOEither [ T . Tuple9 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceParT9 [ ReaderIOEither [ T . Tuple9 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ] ] ] ( t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 )
2023-07-21 10:55:03 +02:00
}
2023-07-20 23:22:02 +02:00
// SequenceTuple9 converts a [T.Tuple9] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple9].
func SequenceTuple9 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 any ] ( t T . Tuple9 [ ReaderIOEither [ T1 ] , ReaderIOEither [ T2 ] , ReaderIOEither [ T3 ] , ReaderIOEither [ T4 ] , ReaderIOEither [ T5 ] , ReaderIOEither [ T6 ] , ReaderIOEither [ T7 ] , ReaderIOEither [ T8 ] , ReaderIOEither [ T9 ] ] ) ReaderIOEither [ T . Tuple9 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceTuple9 [ ReaderIOEither [ T . Tuple9 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ] ] ] ( t )
2023-07-20 23:22:02 +02:00
}
2023-07-21 10:55:03 +02:00
// SequenceSeqTuple9 converts a [T.Tuple9] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple9].
func SequenceSeqTuple9 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 any ] ( t T . Tuple9 [ ReaderIOEither [ T1 ] , ReaderIOEither [ T2 ] , ReaderIOEither [ T3 ] , ReaderIOEither [ T4 ] , ReaderIOEither [ T5 ] , ReaderIOEither [ T6 ] , ReaderIOEither [ T7 ] , ReaderIOEither [ T8 ] , ReaderIOEither [ T9 ] ] ) ReaderIOEither [ T . Tuple9 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceSeqTuple9 [ ReaderIOEither [ T . Tuple9 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ] ] ] ( t )
2023-07-21 10:55:03 +02:00
}
// SequenceParTuple9 converts a [T.Tuple9] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple9].
func SequenceParTuple9 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 any ] ( t T . Tuple9 [ ReaderIOEither [ T1 ] , ReaderIOEither [ T2 ] , ReaderIOEither [ T3 ] , ReaderIOEither [ T4 ] , ReaderIOEither [ T5 ] , ReaderIOEither [ T6 ] , ReaderIOEither [ T7 ] , ReaderIOEither [ T8 ] , ReaderIOEither [ T9 ] ] ) ReaderIOEither [ T . Tuple9 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceParTuple9 [ ReaderIOEither [ T . Tuple9 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ] ] ] ( t )
2023-07-21 10:55:03 +02:00
}
// TraverseTuple9 converts a [T.Tuple9] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple9].
func TraverseTuple9 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , F2 ~ func ( A2 ) ReaderIOEither [ T2 ] , F3 ~ func ( A3 ) ReaderIOEither [ T3 ] , F4 ~ func ( A4 ) ReaderIOEither [ T4 ] , F5 ~ func ( A5 ) ReaderIOEither [ T5 ] , F6 ~ func ( A6 ) ReaderIOEither [ T6 ] , F7 ~ func ( A7 ) ReaderIOEither [ T7 ] , F8 ~ func ( A8 ) ReaderIOEither [ T8 ] , F9 ~ func ( A9 ) ReaderIOEither [ T9 ] , A1 , T1 , A2 , T2 , A3 , T3 , A4 , T4 , A5 , T5 , A6 , T6 , A7 , T7 , A8 , T8 , A9 , 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 ] ) ReaderIOEither [ T . Tuple9 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseTuple9 [ ReaderIOEither [ T . Tuple9 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ] ] ] ( f1 , f2 , f3 , f4 , f5 , f6 , f7 , f8 , f9 )
2023-07-21 10:55:03 +02:00
}
// TraverseSeqTuple9 converts a [T.Tuple9] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple9].
func TraverseSeqTuple9 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , F2 ~ func ( A2 ) ReaderIOEither [ T2 ] , F3 ~ func ( A3 ) ReaderIOEither [ T3 ] , F4 ~ func ( A4 ) ReaderIOEither [ T4 ] , F5 ~ func ( A5 ) ReaderIOEither [ T5 ] , F6 ~ func ( A6 ) ReaderIOEither [ T6 ] , F7 ~ func ( A7 ) ReaderIOEither [ T7 ] , F8 ~ func ( A8 ) ReaderIOEither [ T8 ] , F9 ~ func ( A9 ) ReaderIOEither [ T9 ] , A1 , T1 , A2 , T2 , A3 , T3 , A4 , T4 , A5 , T5 , A6 , T6 , A7 , T7 , A8 , T8 , A9 , 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 ] ) ReaderIOEither [ T . Tuple9 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseSeqTuple9 [ ReaderIOEither [ T . Tuple9 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ] ] ] ( f1 , f2 , f3 , f4 , f5 , f6 , f7 , f8 , f9 )
2023-07-21 10:55:03 +02:00
}
// TraverseParTuple9 converts a [T.Tuple9] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple9].
func TraverseParTuple9 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , F2 ~ func ( A2 ) ReaderIOEither [ T2 ] , F3 ~ func ( A3 ) ReaderIOEither [ T3 ] , F4 ~ func ( A4 ) ReaderIOEither [ T4 ] , F5 ~ func ( A5 ) ReaderIOEither [ T5 ] , F6 ~ func ( A6 ) ReaderIOEither [ T6 ] , F7 ~ func ( A7 ) ReaderIOEither [ T7 ] , F8 ~ func ( A8 ) ReaderIOEither [ T8 ] , F9 ~ func ( A9 ) ReaderIOEither [ T9 ] , A1 , T1 , A2 , T2 , A3 , T3 , A4 , T4 , A5 , T5 , A6 , T6 , A7 , T7 , A8 , T8 , A9 , 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 ] ) ReaderIOEither [ T . Tuple9 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseParTuple9 [ ReaderIOEither [ T . Tuple9 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ] ] ] ( f1 , f2 , f3 , f4 , f5 , f6 , f7 , f8 , f9 )
2023-07-21 10:55:03 +02:00
}
2023-07-18 15:24:00 +02:00
// Eitherize10 converts a function with 10 parameters returning a tuple into a function with 10 parameters returning a [ReaderIOEither[R]]
// The inverse function is [Uneitherize10]
func Eitherize10 [ F ~ func ( context . Context , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ) ( R , error ) , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , R any ] ( f F ) func ( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ) ReaderIOEither [ R ] {
2023-07-23 21:45:32 +02:00
return G . Eitherize10 [ ReaderIOEither [ R ] ] ( f )
2023-07-20 16:17:23 +02:00
}
// SequenceT10 converts 10 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple10].
func SequenceT10 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 any ] ( t1 ReaderIOEither [ T1 ] , t2 ReaderIOEither [ T2 ] , t3 ReaderIOEither [ T3 ] , t4 ReaderIOEither [ T4 ] , t5 ReaderIOEither [ T5 ] , t6 ReaderIOEither [ T6 ] , t7 ReaderIOEither [ T7 ] , t8 ReaderIOEither [ T8 ] , t9 ReaderIOEither [ T9 ] , t10 ReaderIOEither [ T10 ] ) ReaderIOEither [ T . Tuple10 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceT10 [ ReaderIOEither [ T . Tuple10 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ] ] ] ( t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 )
2023-07-18 15:24:00 +02:00
}
2023-07-20 23:22:02 +02:00
2023-07-21 10:55:03 +02:00
// SequenceSeqT10 converts 10 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple10].
func SequenceSeqT10 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 any ] ( t1 ReaderIOEither [ T1 ] , t2 ReaderIOEither [ T2 ] , t3 ReaderIOEither [ T3 ] , t4 ReaderIOEither [ T4 ] , t5 ReaderIOEither [ T5 ] , t6 ReaderIOEither [ T6 ] , t7 ReaderIOEither [ T7 ] , t8 ReaderIOEither [ T8 ] , t9 ReaderIOEither [ T9 ] , t10 ReaderIOEither [ T10 ] ) ReaderIOEither [ T . Tuple10 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceSeqT10 [ ReaderIOEither [ T . Tuple10 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ] ] ] ( t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 )
2023-07-21 10:55:03 +02:00
}
// SequenceParT10 converts 10 [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple10].
func SequenceParT10 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 any ] ( t1 ReaderIOEither [ T1 ] , t2 ReaderIOEither [ T2 ] , t3 ReaderIOEither [ T3 ] , t4 ReaderIOEither [ T4 ] , t5 ReaderIOEither [ T5 ] , t6 ReaderIOEither [ T6 ] , t7 ReaderIOEither [ T7 ] , t8 ReaderIOEither [ T8 ] , t9 ReaderIOEither [ T9 ] , t10 ReaderIOEither [ T10 ] ) ReaderIOEither [ T . Tuple10 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceParT10 [ ReaderIOEither [ T . Tuple10 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ] ] ] ( t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 )
2023-07-21 10:55:03 +02:00
}
2023-07-20 23:22:02 +02:00
// SequenceTuple10 converts a [T.Tuple10] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple10].
func SequenceTuple10 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 any ] ( t T . Tuple10 [ ReaderIOEither [ T1 ] , ReaderIOEither [ T2 ] , ReaderIOEither [ T3 ] , ReaderIOEither [ T4 ] , ReaderIOEither [ T5 ] , ReaderIOEither [ T6 ] , ReaderIOEither [ T7 ] , ReaderIOEither [ T8 ] , ReaderIOEither [ T9 ] , ReaderIOEither [ T10 ] ] ) ReaderIOEither [ T . Tuple10 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceTuple10 [ ReaderIOEither [ T . Tuple10 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ] ] ] ( t )
2023-07-20 23:22:02 +02:00
}
2023-07-21 10:55:03 +02:00
// SequenceSeqTuple10 converts a [T.Tuple10] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple10].
func SequenceSeqTuple10 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 any ] ( t T . Tuple10 [ ReaderIOEither [ T1 ] , ReaderIOEither [ T2 ] , ReaderIOEither [ T3 ] , ReaderIOEither [ T4 ] , ReaderIOEither [ T5 ] , ReaderIOEither [ T6 ] , ReaderIOEither [ T7 ] , ReaderIOEither [ T8 ] , ReaderIOEither [ T9 ] , ReaderIOEither [ T10 ] ] ) ReaderIOEither [ T . Tuple10 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceSeqTuple10 [ ReaderIOEither [ T . Tuple10 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ] ] ] ( t )
2023-07-21 10:55:03 +02:00
}
// SequenceParTuple10 converts a [T.Tuple10] of [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple10].
func SequenceParTuple10 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 any ] ( t T . Tuple10 [ ReaderIOEither [ T1 ] , ReaderIOEither [ T2 ] , ReaderIOEither [ T3 ] , ReaderIOEither [ T4 ] , ReaderIOEither [ T5 ] , ReaderIOEither [ T6 ] , ReaderIOEither [ T7 ] , ReaderIOEither [ T8 ] , ReaderIOEither [ T9 ] , ReaderIOEither [ T10 ] ] ) ReaderIOEither [ T . Tuple10 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ] ] {
2023-07-23 21:45:32 +02:00
return G . SequenceParTuple10 [ ReaderIOEither [ T . Tuple10 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ] ] ] ( t )
2023-07-21 10:55:03 +02:00
}
// TraverseTuple10 converts a [T.Tuple10] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple10].
func TraverseTuple10 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , F2 ~ func ( A2 ) ReaderIOEither [ T2 ] , F3 ~ func ( A3 ) ReaderIOEither [ T3 ] , F4 ~ func ( A4 ) ReaderIOEither [ T4 ] , F5 ~ func ( A5 ) ReaderIOEither [ T5 ] , F6 ~ func ( A6 ) ReaderIOEither [ T6 ] , F7 ~ func ( A7 ) ReaderIOEither [ T7 ] , F8 ~ func ( A8 ) ReaderIOEither [ T8 ] , F9 ~ func ( A9 ) ReaderIOEither [ T9 ] , F10 ~ func ( A10 ) ReaderIOEither [ T10 ] , A1 , T1 , A2 , T2 , A3 , T3 , A4 , T4 , A5 , T5 , A6 , T6 , A7 , T7 , A8 , T8 , A9 , T9 , A10 , 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 ] ) ReaderIOEither [ T . Tuple10 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseTuple10 [ ReaderIOEither [ T . Tuple10 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ] ] ] ( f1 , f2 , f3 , f4 , f5 , f6 , f7 , f8 , f9 , f10 )
2023-07-21 10:55:03 +02:00
}
// TraverseSeqTuple10 converts a [T.Tuple10] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple10].
func TraverseSeqTuple10 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , F2 ~ func ( A2 ) ReaderIOEither [ T2 ] , F3 ~ func ( A3 ) ReaderIOEither [ T3 ] , F4 ~ func ( A4 ) ReaderIOEither [ T4 ] , F5 ~ func ( A5 ) ReaderIOEither [ T5 ] , F6 ~ func ( A6 ) ReaderIOEither [ T6 ] , F7 ~ func ( A7 ) ReaderIOEither [ T7 ] , F8 ~ func ( A8 ) ReaderIOEither [ T8 ] , F9 ~ func ( A9 ) ReaderIOEither [ T9 ] , F10 ~ func ( A10 ) ReaderIOEither [ T10 ] , A1 , T1 , A2 , T2 , A3 , T3 , A4 , T4 , A5 , T5 , A6 , T6 , A7 , T7 , A8 , T8 , A9 , T9 , A10 , 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 ] ) ReaderIOEither [ T . Tuple10 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseSeqTuple10 [ ReaderIOEither [ T . Tuple10 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ] ] ] ( f1 , f2 , f3 , f4 , f5 , f6 , f7 , f8 , f9 , f10 )
2023-07-21 10:55:03 +02:00
}
// TraverseParTuple10 converts a [T.Tuple10] of [A] via transformer functions transforming [A] to a [ReaderIOEither] into a [ReaderIOEither] of a [T.Tuple10].
func TraverseParTuple10 [ F1 ~ func ( A1 ) ReaderIOEither [ T1 ] , F2 ~ func ( A2 ) ReaderIOEither [ T2 ] , F3 ~ func ( A3 ) ReaderIOEither [ T3 ] , F4 ~ func ( A4 ) ReaderIOEither [ T4 ] , F5 ~ func ( A5 ) ReaderIOEither [ T5 ] , F6 ~ func ( A6 ) ReaderIOEither [ T6 ] , F7 ~ func ( A7 ) ReaderIOEither [ T7 ] , F8 ~ func ( A8 ) ReaderIOEither [ T8 ] , F9 ~ func ( A9 ) ReaderIOEither [ T9 ] , F10 ~ func ( A10 ) ReaderIOEither [ T10 ] , A1 , T1 , A2 , T2 , A3 , T3 , A4 , T4 , A5 , T5 , A6 , T6 , A7 , T7 , A8 , T8 , A9 , T9 , A10 , 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 ] ) ReaderIOEither [ T . Tuple10 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ] ] {
2023-07-23 21:45:32 +02:00
return G . TraverseParTuple10 [ ReaderIOEither [ T . Tuple10 [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ] ] ] ( f1 , f2 , f3 , f4 , f5 , f6 , f7 , f8 , f9 , f10 )
2023-07-21 10:55:03 +02:00
}