mirror of
https://github.com/IBM/fp-go.git
synced 2025-08-10 22:31:32 +02:00
fix: more auto generated templates fo DI
Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com>
This commit is contained in:
897
di/gen.go
897
di/gen.go
@@ -1,6 +1,6 @@
|
||||
// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// 2023-12-18 21:40:11.0891062 +0100 CET m=+0.007755601
|
||||
// 2024-02-29 16:18:47.9991921 +0100 CET m=+0.012914901
|
||||
|
||||
package di
|
||||
|
||||
@@ -41,7 +41,7 @@ func MakeProviderFactory1[T1 any, R any](
|
||||
)
|
||||
}
|
||||
|
||||
// MakeTokenWithDefault1 creates an [InjectionToken] with a default implementation with 1 dependenciess
|
||||
// MakeTokenWithDefault1 creates an [InjectionToken] with a default implementation with 1 dependencies
|
||||
func MakeTokenWithDefault1[T1 any, R any](
|
||||
name string,
|
||||
d1 Dependency[T1],
|
||||
@@ -102,7 +102,7 @@ func MakeProviderFactory2[T1, T2 any, R any](
|
||||
)
|
||||
}
|
||||
|
||||
// MakeTokenWithDefault2 creates an [InjectionToken] with a default implementation with 2 dependenciess
|
||||
// MakeTokenWithDefault2 creates an [InjectionToken] with a default implementation with 2 dependencies
|
||||
func MakeTokenWithDefault2[T1, T2 any, R any](
|
||||
name string,
|
||||
d1 Dependency[T1],
|
||||
@@ -173,7 +173,7 @@ func MakeProviderFactory3[T1, T2, T3 any, R any](
|
||||
)
|
||||
}
|
||||
|
||||
// MakeTokenWithDefault3 creates an [InjectionToken] with a default implementation with 3 dependenciess
|
||||
// MakeTokenWithDefault3 creates an [InjectionToken] with a default implementation with 3 dependencies
|
||||
func MakeTokenWithDefault3[T1, T2, T3 any, R any](
|
||||
name string,
|
||||
d1 Dependency[T1],
|
||||
@@ -254,7 +254,7 @@ func MakeProviderFactory4[T1, T2, T3, T4 any, R any](
|
||||
)
|
||||
}
|
||||
|
||||
// MakeTokenWithDefault4 creates an [InjectionToken] with a default implementation with 4 dependenciess
|
||||
// MakeTokenWithDefault4 creates an [InjectionToken] with a default implementation with 4 dependencies
|
||||
func MakeTokenWithDefault4[T1, T2, T3, T4 any, R any](
|
||||
name string,
|
||||
d1 Dependency[T1],
|
||||
@@ -345,7 +345,7 @@ func MakeProviderFactory5[T1, T2, T3, T4, T5 any, R any](
|
||||
)
|
||||
}
|
||||
|
||||
// MakeTokenWithDefault5 creates an [InjectionToken] with a default implementation with 5 dependenciess
|
||||
// MakeTokenWithDefault5 creates an [InjectionToken] with a default implementation with 5 dependencies
|
||||
func MakeTokenWithDefault5[T1, T2, T3, T4, T5 any, R any](
|
||||
name string,
|
||||
d1 Dependency[T1],
|
||||
@@ -446,7 +446,7 @@ func MakeProviderFactory6[T1, T2, T3, T4, T5, T6 any, R any](
|
||||
)
|
||||
}
|
||||
|
||||
// MakeTokenWithDefault6 creates an [InjectionToken] with a default implementation with 6 dependenciess
|
||||
// MakeTokenWithDefault6 creates an [InjectionToken] with a default implementation with 6 dependencies
|
||||
func MakeTokenWithDefault6[T1, T2, T3, T4, T5, T6 any, R any](
|
||||
name string,
|
||||
d1 Dependency[T1],
|
||||
@@ -557,7 +557,7 @@ func MakeProviderFactory7[T1, T2, T3, T4, T5, T6, T7 any, R any](
|
||||
)
|
||||
}
|
||||
|
||||
// MakeTokenWithDefault7 creates an [InjectionToken] with a default implementation with 7 dependenciess
|
||||
// MakeTokenWithDefault7 creates an [InjectionToken] with a default implementation with 7 dependencies
|
||||
func MakeTokenWithDefault7[T1, T2, T3, T4, T5, T6, T7 any, R any](
|
||||
name string,
|
||||
d1 Dependency[T1],
|
||||
@@ -678,7 +678,7 @@ func MakeProviderFactory8[T1, T2, T3, T4, T5, T6, T7, T8 any, R any](
|
||||
)
|
||||
}
|
||||
|
||||
// MakeTokenWithDefault8 creates an [InjectionToken] with a default implementation with 8 dependenciess
|
||||
// MakeTokenWithDefault8 creates an [InjectionToken] with a default implementation with 8 dependencies
|
||||
func MakeTokenWithDefault8[T1, T2, T3, T4, T5, T6, T7, T8 any, R any](
|
||||
name string,
|
||||
d1 Dependency[T1],
|
||||
@@ -809,7 +809,7 @@ func MakeProviderFactory9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any, R any](
|
||||
)
|
||||
}
|
||||
|
||||
// MakeTokenWithDefault9 creates an [InjectionToken] with a default implementation with 9 dependenciess
|
||||
// MakeTokenWithDefault9 creates an [InjectionToken] with a default implementation with 9 dependencies
|
||||
func MakeTokenWithDefault9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any, R any](
|
||||
name string,
|
||||
d1 Dependency[T1],
|
||||
@@ -950,7 +950,7 @@ func MakeProviderFactory10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any, R any](
|
||||
)
|
||||
}
|
||||
|
||||
// MakeTokenWithDefault10 creates an [InjectionToken] with a default implementation with 10 dependenciess
|
||||
// MakeTokenWithDefault10 creates an [InjectionToken] with a default implementation with 10 dependencies
|
||||
func MakeTokenWithDefault10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any, R any](
|
||||
name string,
|
||||
d1 Dependency[T1],
|
||||
@@ -1011,3 +1011,878 @@ func MakeProvider10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any, R any](
|
||||
f,
|
||||
))
|
||||
}
|
||||
|
||||
// eraseProviderFactory11 creates a function that takes a variadic number of untyped arguments and from a function of 11 strongly typed arguments and 11 dependencies
|
||||
func eraseProviderFactory11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 any, R any](
|
||||
d1 Dependency[T1],
|
||||
d2 Dependency[T2],
|
||||
d3 Dependency[T3],
|
||||
d4 Dependency[T4],
|
||||
d5 Dependency[T5],
|
||||
d6 Dependency[T6],
|
||||
d7 Dependency[T7],
|
||||
d8 Dependency[T8],
|
||||
d9 Dependency[T9],
|
||||
d10 Dependency[T10],
|
||||
d11 Dependency[T11],
|
||||
f func(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) IOE.IOEither[error, R]) func(params ...any) IOE.IOEither[error, any] {
|
||||
ft := eraseTuple(T.Tupled11(f))
|
||||
t1 := lookupAt[T1](0, d1)
|
||||
t2 := lookupAt[T2](1, d2)
|
||||
t3 := lookupAt[T3](2, d3)
|
||||
t4 := lookupAt[T4](3, d4)
|
||||
t5 := lookupAt[T5](4, d5)
|
||||
t6 := lookupAt[T6](5, d6)
|
||||
t7 := lookupAt[T7](6, d7)
|
||||
t8 := lookupAt[T8](7, d8)
|
||||
t9 := lookupAt[T9](8, d9)
|
||||
t10 := lookupAt[T10](9, d10)
|
||||
t11 := lookupAt[T11](10, d11)
|
||||
return func(params ...any) IOE.IOEither[error, any] {
|
||||
return ft(E.SequenceT11(
|
||||
t1(params),
|
||||
t2(params),
|
||||
t3(params),
|
||||
t4(params),
|
||||
t5(params),
|
||||
t6(params),
|
||||
t7(params),
|
||||
t8(params),
|
||||
t9(params),
|
||||
t10(params),
|
||||
t11(params),
|
||||
))
|
||||
}
|
||||
}
|
||||
|
||||
// MakeProviderFactory11 creates a [DIE.ProviderFactory] from a function with 11 arguments and 11 dependencies
|
||||
func MakeProviderFactory11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 any, R any](
|
||||
d1 Dependency[T1],
|
||||
d2 Dependency[T2],
|
||||
d3 Dependency[T3],
|
||||
d4 Dependency[T4],
|
||||
d5 Dependency[T5],
|
||||
d6 Dependency[T6],
|
||||
d7 Dependency[T7],
|
||||
d8 Dependency[T8],
|
||||
d9 Dependency[T9],
|
||||
d10 Dependency[T10],
|
||||
d11 Dependency[T11],
|
||||
f func(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) IOE.IOEither[error, R],
|
||||
) DIE.ProviderFactory {
|
||||
return DIE.MakeProviderFactory(
|
||||
A.From[DIE.Dependency](
|
||||
d1,
|
||||
d2,
|
||||
d3,
|
||||
d4,
|
||||
d5,
|
||||
d6,
|
||||
d7,
|
||||
d8,
|
||||
d9,
|
||||
d10,
|
||||
d11,
|
||||
),
|
||||
eraseProviderFactory11(
|
||||
d1,
|
||||
d2,
|
||||
d3,
|
||||
d4,
|
||||
d5,
|
||||
d6,
|
||||
d7,
|
||||
d8,
|
||||
d9,
|
||||
d10,
|
||||
d11,
|
||||
f,
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
// MakeTokenWithDefault11 creates an [InjectionToken] with a default implementation with 11 dependencies
|
||||
func MakeTokenWithDefault11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 any, R any](
|
||||
name string,
|
||||
d1 Dependency[T1],
|
||||
d2 Dependency[T2],
|
||||
d3 Dependency[T3],
|
||||
d4 Dependency[T4],
|
||||
d5 Dependency[T5],
|
||||
d6 Dependency[T6],
|
||||
d7 Dependency[T7],
|
||||
d8 Dependency[T8],
|
||||
d9 Dependency[T9],
|
||||
d10 Dependency[T10],
|
||||
d11 Dependency[T11],
|
||||
f func(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) IOE.IOEither[error, R],
|
||||
) InjectionToken[R] {
|
||||
return MakeTokenWithDefault[R](name, MakeProviderFactory11(
|
||||
d1,
|
||||
d2,
|
||||
d3,
|
||||
d4,
|
||||
d5,
|
||||
d6,
|
||||
d7,
|
||||
d8,
|
||||
d9,
|
||||
d10,
|
||||
d11,
|
||||
f,
|
||||
))
|
||||
}
|
||||
|
||||
// MakeProvider11 creates a [DIE.Provider] for an [InjectionToken] from a function with 11 dependencies
|
||||
func MakeProvider11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 any, R any](
|
||||
token InjectionToken[R],
|
||||
d1 Dependency[T1],
|
||||
d2 Dependency[T2],
|
||||
d3 Dependency[T3],
|
||||
d4 Dependency[T4],
|
||||
d5 Dependency[T5],
|
||||
d6 Dependency[T6],
|
||||
d7 Dependency[T7],
|
||||
d8 Dependency[T8],
|
||||
d9 Dependency[T9],
|
||||
d10 Dependency[T10],
|
||||
d11 Dependency[T11],
|
||||
f func(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) IOE.IOEither[error, R],
|
||||
) DIE.Provider {
|
||||
return DIE.MakeProvider(
|
||||
token,
|
||||
MakeProviderFactory11(
|
||||
d1,
|
||||
d2,
|
||||
d3,
|
||||
d4,
|
||||
d5,
|
||||
d6,
|
||||
d7,
|
||||
d8,
|
||||
d9,
|
||||
d10,
|
||||
d11,
|
||||
f,
|
||||
))
|
||||
}
|
||||
|
||||
// eraseProviderFactory12 creates a function that takes a variadic number of untyped arguments and from a function of 12 strongly typed arguments and 12 dependencies
|
||||
func eraseProviderFactory12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 any, R any](
|
||||
d1 Dependency[T1],
|
||||
d2 Dependency[T2],
|
||||
d3 Dependency[T3],
|
||||
d4 Dependency[T4],
|
||||
d5 Dependency[T5],
|
||||
d6 Dependency[T6],
|
||||
d7 Dependency[T7],
|
||||
d8 Dependency[T8],
|
||||
d9 Dependency[T9],
|
||||
d10 Dependency[T10],
|
||||
d11 Dependency[T11],
|
||||
d12 Dependency[T12],
|
||||
f func(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) IOE.IOEither[error, R]) func(params ...any) IOE.IOEither[error, any] {
|
||||
ft := eraseTuple(T.Tupled12(f))
|
||||
t1 := lookupAt[T1](0, d1)
|
||||
t2 := lookupAt[T2](1, d2)
|
||||
t3 := lookupAt[T3](2, d3)
|
||||
t4 := lookupAt[T4](3, d4)
|
||||
t5 := lookupAt[T5](4, d5)
|
||||
t6 := lookupAt[T6](5, d6)
|
||||
t7 := lookupAt[T7](6, d7)
|
||||
t8 := lookupAt[T8](7, d8)
|
||||
t9 := lookupAt[T9](8, d9)
|
||||
t10 := lookupAt[T10](9, d10)
|
||||
t11 := lookupAt[T11](10, d11)
|
||||
t12 := lookupAt[T12](11, d12)
|
||||
return func(params ...any) IOE.IOEither[error, any] {
|
||||
return ft(E.SequenceT12(
|
||||
t1(params),
|
||||
t2(params),
|
||||
t3(params),
|
||||
t4(params),
|
||||
t5(params),
|
||||
t6(params),
|
||||
t7(params),
|
||||
t8(params),
|
||||
t9(params),
|
||||
t10(params),
|
||||
t11(params),
|
||||
t12(params),
|
||||
))
|
||||
}
|
||||
}
|
||||
|
||||
// MakeProviderFactory12 creates a [DIE.ProviderFactory] from a function with 12 arguments and 12 dependencies
|
||||
func MakeProviderFactory12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 any, R any](
|
||||
d1 Dependency[T1],
|
||||
d2 Dependency[T2],
|
||||
d3 Dependency[T3],
|
||||
d4 Dependency[T4],
|
||||
d5 Dependency[T5],
|
||||
d6 Dependency[T6],
|
||||
d7 Dependency[T7],
|
||||
d8 Dependency[T8],
|
||||
d9 Dependency[T9],
|
||||
d10 Dependency[T10],
|
||||
d11 Dependency[T11],
|
||||
d12 Dependency[T12],
|
||||
f func(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) IOE.IOEither[error, R],
|
||||
) DIE.ProviderFactory {
|
||||
return DIE.MakeProviderFactory(
|
||||
A.From[DIE.Dependency](
|
||||
d1,
|
||||
d2,
|
||||
d3,
|
||||
d4,
|
||||
d5,
|
||||
d6,
|
||||
d7,
|
||||
d8,
|
||||
d9,
|
||||
d10,
|
||||
d11,
|
||||
d12,
|
||||
),
|
||||
eraseProviderFactory12(
|
||||
d1,
|
||||
d2,
|
||||
d3,
|
||||
d4,
|
||||
d5,
|
||||
d6,
|
||||
d7,
|
||||
d8,
|
||||
d9,
|
||||
d10,
|
||||
d11,
|
||||
d12,
|
||||
f,
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
// MakeTokenWithDefault12 creates an [InjectionToken] with a default implementation with 12 dependencies
|
||||
func MakeTokenWithDefault12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 any, R any](
|
||||
name string,
|
||||
d1 Dependency[T1],
|
||||
d2 Dependency[T2],
|
||||
d3 Dependency[T3],
|
||||
d4 Dependency[T4],
|
||||
d5 Dependency[T5],
|
||||
d6 Dependency[T6],
|
||||
d7 Dependency[T7],
|
||||
d8 Dependency[T8],
|
||||
d9 Dependency[T9],
|
||||
d10 Dependency[T10],
|
||||
d11 Dependency[T11],
|
||||
d12 Dependency[T12],
|
||||
f func(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) IOE.IOEither[error, R],
|
||||
) InjectionToken[R] {
|
||||
return MakeTokenWithDefault[R](name, MakeProviderFactory12(
|
||||
d1,
|
||||
d2,
|
||||
d3,
|
||||
d4,
|
||||
d5,
|
||||
d6,
|
||||
d7,
|
||||
d8,
|
||||
d9,
|
||||
d10,
|
||||
d11,
|
||||
d12,
|
||||
f,
|
||||
))
|
||||
}
|
||||
|
||||
// MakeProvider12 creates a [DIE.Provider] for an [InjectionToken] from a function with 12 dependencies
|
||||
func MakeProvider12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 any, R any](
|
||||
token InjectionToken[R],
|
||||
d1 Dependency[T1],
|
||||
d2 Dependency[T2],
|
||||
d3 Dependency[T3],
|
||||
d4 Dependency[T4],
|
||||
d5 Dependency[T5],
|
||||
d6 Dependency[T6],
|
||||
d7 Dependency[T7],
|
||||
d8 Dependency[T8],
|
||||
d9 Dependency[T9],
|
||||
d10 Dependency[T10],
|
||||
d11 Dependency[T11],
|
||||
d12 Dependency[T12],
|
||||
f func(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) IOE.IOEither[error, R],
|
||||
) DIE.Provider {
|
||||
return DIE.MakeProvider(
|
||||
token,
|
||||
MakeProviderFactory12(
|
||||
d1,
|
||||
d2,
|
||||
d3,
|
||||
d4,
|
||||
d5,
|
||||
d6,
|
||||
d7,
|
||||
d8,
|
||||
d9,
|
||||
d10,
|
||||
d11,
|
||||
d12,
|
||||
f,
|
||||
))
|
||||
}
|
||||
|
||||
// eraseProviderFactory13 creates a function that takes a variadic number of untyped arguments and from a function of 13 strongly typed arguments and 13 dependencies
|
||||
func eraseProviderFactory13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 any, R any](
|
||||
d1 Dependency[T1],
|
||||
d2 Dependency[T2],
|
||||
d3 Dependency[T3],
|
||||
d4 Dependency[T4],
|
||||
d5 Dependency[T5],
|
||||
d6 Dependency[T6],
|
||||
d7 Dependency[T7],
|
||||
d8 Dependency[T8],
|
||||
d9 Dependency[T9],
|
||||
d10 Dependency[T10],
|
||||
d11 Dependency[T11],
|
||||
d12 Dependency[T12],
|
||||
d13 Dependency[T13],
|
||||
f func(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) IOE.IOEither[error, R]) func(params ...any) IOE.IOEither[error, any] {
|
||||
ft := eraseTuple(T.Tupled13(f))
|
||||
t1 := lookupAt[T1](0, d1)
|
||||
t2 := lookupAt[T2](1, d2)
|
||||
t3 := lookupAt[T3](2, d3)
|
||||
t4 := lookupAt[T4](3, d4)
|
||||
t5 := lookupAt[T5](4, d5)
|
||||
t6 := lookupAt[T6](5, d6)
|
||||
t7 := lookupAt[T7](6, d7)
|
||||
t8 := lookupAt[T8](7, d8)
|
||||
t9 := lookupAt[T9](8, d9)
|
||||
t10 := lookupAt[T10](9, d10)
|
||||
t11 := lookupAt[T11](10, d11)
|
||||
t12 := lookupAt[T12](11, d12)
|
||||
t13 := lookupAt[T13](12, d13)
|
||||
return func(params ...any) IOE.IOEither[error, any] {
|
||||
return ft(E.SequenceT13(
|
||||
t1(params),
|
||||
t2(params),
|
||||
t3(params),
|
||||
t4(params),
|
||||
t5(params),
|
||||
t6(params),
|
||||
t7(params),
|
||||
t8(params),
|
||||
t9(params),
|
||||
t10(params),
|
||||
t11(params),
|
||||
t12(params),
|
||||
t13(params),
|
||||
))
|
||||
}
|
||||
}
|
||||
|
||||
// MakeProviderFactory13 creates a [DIE.ProviderFactory] from a function with 13 arguments and 13 dependencies
|
||||
func MakeProviderFactory13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 any, R any](
|
||||
d1 Dependency[T1],
|
||||
d2 Dependency[T2],
|
||||
d3 Dependency[T3],
|
||||
d4 Dependency[T4],
|
||||
d5 Dependency[T5],
|
||||
d6 Dependency[T6],
|
||||
d7 Dependency[T7],
|
||||
d8 Dependency[T8],
|
||||
d9 Dependency[T9],
|
||||
d10 Dependency[T10],
|
||||
d11 Dependency[T11],
|
||||
d12 Dependency[T12],
|
||||
d13 Dependency[T13],
|
||||
f func(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) IOE.IOEither[error, R],
|
||||
) DIE.ProviderFactory {
|
||||
return DIE.MakeProviderFactory(
|
||||
A.From[DIE.Dependency](
|
||||
d1,
|
||||
d2,
|
||||
d3,
|
||||
d4,
|
||||
d5,
|
||||
d6,
|
||||
d7,
|
||||
d8,
|
||||
d9,
|
||||
d10,
|
||||
d11,
|
||||
d12,
|
||||
d13,
|
||||
),
|
||||
eraseProviderFactory13(
|
||||
d1,
|
||||
d2,
|
||||
d3,
|
||||
d4,
|
||||
d5,
|
||||
d6,
|
||||
d7,
|
||||
d8,
|
||||
d9,
|
||||
d10,
|
||||
d11,
|
||||
d12,
|
||||
d13,
|
||||
f,
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
// MakeTokenWithDefault13 creates an [InjectionToken] with a default implementation with 13 dependencies
|
||||
func MakeTokenWithDefault13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 any, R any](
|
||||
name string,
|
||||
d1 Dependency[T1],
|
||||
d2 Dependency[T2],
|
||||
d3 Dependency[T3],
|
||||
d4 Dependency[T4],
|
||||
d5 Dependency[T5],
|
||||
d6 Dependency[T6],
|
||||
d7 Dependency[T7],
|
||||
d8 Dependency[T8],
|
||||
d9 Dependency[T9],
|
||||
d10 Dependency[T10],
|
||||
d11 Dependency[T11],
|
||||
d12 Dependency[T12],
|
||||
d13 Dependency[T13],
|
||||
f func(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) IOE.IOEither[error, R],
|
||||
) InjectionToken[R] {
|
||||
return MakeTokenWithDefault[R](name, MakeProviderFactory13(
|
||||
d1,
|
||||
d2,
|
||||
d3,
|
||||
d4,
|
||||
d5,
|
||||
d6,
|
||||
d7,
|
||||
d8,
|
||||
d9,
|
||||
d10,
|
||||
d11,
|
||||
d12,
|
||||
d13,
|
||||
f,
|
||||
))
|
||||
}
|
||||
|
||||
// MakeProvider13 creates a [DIE.Provider] for an [InjectionToken] from a function with 13 dependencies
|
||||
func MakeProvider13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 any, R any](
|
||||
token InjectionToken[R],
|
||||
d1 Dependency[T1],
|
||||
d2 Dependency[T2],
|
||||
d3 Dependency[T3],
|
||||
d4 Dependency[T4],
|
||||
d5 Dependency[T5],
|
||||
d6 Dependency[T6],
|
||||
d7 Dependency[T7],
|
||||
d8 Dependency[T8],
|
||||
d9 Dependency[T9],
|
||||
d10 Dependency[T10],
|
||||
d11 Dependency[T11],
|
||||
d12 Dependency[T12],
|
||||
d13 Dependency[T13],
|
||||
f func(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) IOE.IOEither[error, R],
|
||||
) DIE.Provider {
|
||||
return DIE.MakeProvider(
|
||||
token,
|
||||
MakeProviderFactory13(
|
||||
d1,
|
||||
d2,
|
||||
d3,
|
||||
d4,
|
||||
d5,
|
||||
d6,
|
||||
d7,
|
||||
d8,
|
||||
d9,
|
||||
d10,
|
||||
d11,
|
||||
d12,
|
||||
d13,
|
||||
f,
|
||||
))
|
||||
}
|
||||
|
||||
// eraseProviderFactory14 creates a function that takes a variadic number of untyped arguments and from a function of 14 strongly typed arguments and 14 dependencies
|
||||
func eraseProviderFactory14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 any, R any](
|
||||
d1 Dependency[T1],
|
||||
d2 Dependency[T2],
|
||||
d3 Dependency[T3],
|
||||
d4 Dependency[T4],
|
||||
d5 Dependency[T5],
|
||||
d6 Dependency[T6],
|
||||
d7 Dependency[T7],
|
||||
d8 Dependency[T8],
|
||||
d9 Dependency[T9],
|
||||
d10 Dependency[T10],
|
||||
d11 Dependency[T11],
|
||||
d12 Dependency[T12],
|
||||
d13 Dependency[T13],
|
||||
d14 Dependency[T14],
|
||||
f func(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) IOE.IOEither[error, R]) func(params ...any) IOE.IOEither[error, any] {
|
||||
ft := eraseTuple(T.Tupled14(f))
|
||||
t1 := lookupAt[T1](0, d1)
|
||||
t2 := lookupAt[T2](1, d2)
|
||||
t3 := lookupAt[T3](2, d3)
|
||||
t4 := lookupAt[T4](3, d4)
|
||||
t5 := lookupAt[T5](4, d5)
|
||||
t6 := lookupAt[T6](5, d6)
|
||||
t7 := lookupAt[T7](6, d7)
|
||||
t8 := lookupAt[T8](7, d8)
|
||||
t9 := lookupAt[T9](8, d9)
|
||||
t10 := lookupAt[T10](9, d10)
|
||||
t11 := lookupAt[T11](10, d11)
|
||||
t12 := lookupAt[T12](11, d12)
|
||||
t13 := lookupAt[T13](12, d13)
|
||||
t14 := lookupAt[T14](13, d14)
|
||||
return func(params ...any) IOE.IOEither[error, any] {
|
||||
return ft(E.SequenceT14(
|
||||
t1(params),
|
||||
t2(params),
|
||||
t3(params),
|
||||
t4(params),
|
||||
t5(params),
|
||||
t6(params),
|
||||
t7(params),
|
||||
t8(params),
|
||||
t9(params),
|
||||
t10(params),
|
||||
t11(params),
|
||||
t12(params),
|
||||
t13(params),
|
||||
t14(params),
|
||||
))
|
||||
}
|
||||
}
|
||||
|
||||
// MakeProviderFactory14 creates a [DIE.ProviderFactory] from a function with 14 arguments and 14 dependencies
|
||||
func MakeProviderFactory14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 any, R any](
|
||||
d1 Dependency[T1],
|
||||
d2 Dependency[T2],
|
||||
d3 Dependency[T3],
|
||||
d4 Dependency[T4],
|
||||
d5 Dependency[T5],
|
||||
d6 Dependency[T6],
|
||||
d7 Dependency[T7],
|
||||
d8 Dependency[T8],
|
||||
d9 Dependency[T9],
|
||||
d10 Dependency[T10],
|
||||
d11 Dependency[T11],
|
||||
d12 Dependency[T12],
|
||||
d13 Dependency[T13],
|
||||
d14 Dependency[T14],
|
||||
f func(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) IOE.IOEither[error, R],
|
||||
) DIE.ProviderFactory {
|
||||
return DIE.MakeProviderFactory(
|
||||
A.From[DIE.Dependency](
|
||||
d1,
|
||||
d2,
|
||||
d3,
|
||||
d4,
|
||||
d5,
|
||||
d6,
|
||||
d7,
|
||||
d8,
|
||||
d9,
|
||||
d10,
|
||||
d11,
|
||||
d12,
|
||||
d13,
|
||||
d14,
|
||||
),
|
||||
eraseProviderFactory14(
|
||||
d1,
|
||||
d2,
|
||||
d3,
|
||||
d4,
|
||||
d5,
|
||||
d6,
|
||||
d7,
|
||||
d8,
|
||||
d9,
|
||||
d10,
|
||||
d11,
|
||||
d12,
|
||||
d13,
|
||||
d14,
|
||||
f,
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
// MakeTokenWithDefault14 creates an [InjectionToken] with a default implementation with 14 dependencies
|
||||
func MakeTokenWithDefault14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 any, R any](
|
||||
name string,
|
||||
d1 Dependency[T1],
|
||||
d2 Dependency[T2],
|
||||
d3 Dependency[T3],
|
||||
d4 Dependency[T4],
|
||||
d5 Dependency[T5],
|
||||
d6 Dependency[T6],
|
||||
d7 Dependency[T7],
|
||||
d8 Dependency[T8],
|
||||
d9 Dependency[T9],
|
||||
d10 Dependency[T10],
|
||||
d11 Dependency[T11],
|
||||
d12 Dependency[T12],
|
||||
d13 Dependency[T13],
|
||||
d14 Dependency[T14],
|
||||
f func(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) IOE.IOEither[error, R],
|
||||
) InjectionToken[R] {
|
||||
return MakeTokenWithDefault[R](name, MakeProviderFactory14(
|
||||
d1,
|
||||
d2,
|
||||
d3,
|
||||
d4,
|
||||
d5,
|
||||
d6,
|
||||
d7,
|
||||
d8,
|
||||
d9,
|
||||
d10,
|
||||
d11,
|
||||
d12,
|
||||
d13,
|
||||
d14,
|
||||
f,
|
||||
))
|
||||
}
|
||||
|
||||
// MakeProvider14 creates a [DIE.Provider] for an [InjectionToken] from a function with 14 dependencies
|
||||
func MakeProvider14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 any, R any](
|
||||
token InjectionToken[R],
|
||||
d1 Dependency[T1],
|
||||
d2 Dependency[T2],
|
||||
d3 Dependency[T3],
|
||||
d4 Dependency[T4],
|
||||
d5 Dependency[T5],
|
||||
d6 Dependency[T6],
|
||||
d7 Dependency[T7],
|
||||
d8 Dependency[T8],
|
||||
d9 Dependency[T9],
|
||||
d10 Dependency[T10],
|
||||
d11 Dependency[T11],
|
||||
d12 Dependency[T12],
|
||||
d13 Dependency[T13],
|
||||
d14 Dependency[T14],
|
||||
f func(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) IOE.IOEither[error, R],
|
||||
) DIE.Provider {
|
||||
return DIE.MakeProvider(
|
||||
token,
|
||||
MakeProviderFactory14(
|
||||
d1,
|
||||
d2,
|
||||
d3,
|
||||
d4,
|
||||
d5,
|
||||
d6,
|
||||
d7,
|
||||
d8,
|
||||
d9,
|
||||
d10,
|
||||
d11,
|
||||
d12,
|
||||
d13,
|
||||
d14,
|
||||
f,
|
||||
))
|
||||
}
|
||||
|
||||
// eraseProviderFactory15 creates a function that takes a variadic number of untyped arguments and from a function of 15 strongly typed arguments and 15 dependencies
|
||||
func eraseProviderFactory15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 any, R any](
|
||||
d1 Dependency[T1],
|
||||
d2 Dependency[T2],
|
||||
d3 Dependency[T3],
|
||||
d4 Dependency[T4],
|
||||
d5 Dependency[T5],
|
||||
d6 Dependency[T6],
|
||||
d7 Dependency[T7],
|
||||
d8 Dependency[T8],
|
||||
d9 Dependency[T9],
|
||||
d10 Dependency[T10],
|
||||
d11 Dependency[T11],
|
||||
d12 Dependency[T12],
|
||||
d13 Dependency[T13],
|
||||
d14 Dependency[T14],
|
||||
d15 Dependency[T15],
|
||||
f func(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) IOE.IOEither[error, R]) func(params ...any) IOE.IOEither[error, any] {
|
||||
ft := eraseTuple(T.Tupled15(f))
|
||||
t1 := lookupAt[T1](0, d1)
|
||||
t2 := lookupAt[T2](1, d2)
|
||||
t3 := lookupAt[T3](2, d3)
|
||||
t4 := lookupAt[T4](3, d4)
|
||||
t5 := lookupAt[T5](4, d5)
|
||||
t6 := lookupAt[T6](5, d6)
|
||||
t7 := lookupAt[T7](6, d7)
|
||||
t8 := lookupAt[T8](7, d8)
|
||||
t9 := lookupAt[T9](8, d9)
|
||||
t10 := lookupAt[T10](9, d10)
|
||||
t11 := lookupAt[T11](10, d11)
|
||||
t12 := lookupAt[T12](11, d12)
|
||||
t13 := lookupAt[T13](12, d13)
|
||||
t14 := lookupAt[T14](13, d14)
|
||||
t15 := lookupAt[T15](14, d15)
|
||||
return func(params ...any) IOE.IOEither[error, any] {
|
||||
return ft(E.SequenceT15(
|
||||
t1(params),
|
||||
t2(params),
|
||||
t3(params),
|
||||
t4(params),
|
||||
t5(params),
|
||||
t6(params),
|
||||
t7(params),
|
||||
t8(params),
|
||||
t9(params),
|
||||
t10(params),
|
||||
t11(params),
|
||||
t12(params),
|
||||
t13(params),
|
||||
t14(params),
|
||||
t15(params),
|
||||
))
|
||||
}
|
||||
}
|
||||
|
||||
// MakeProviderFactory15 creates a [DIE.ProviderFactory] from a function with 15 arguments and 15 dependencies
|
||||
func MakeProviderFactory15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 any, R any](
|
||||
d1 Dependency[T1],
|
||||
d2 Dependency[T2],
|
||||
d3 Dependency[T3],
|
||||
d4 Dependency[T4],
|
||||
d5 Dependency[T5],
|
||||
d6 Dependency[T6],
|
||||
d7 Dependency[T7],
|
||||
d8 Dependency[T8],
|
||||
d9 Dependency[T9],
|
||||
d10 Dependency[T10],
|
||||
d11 Dependency[T11],
|
||||
d12 Dependency[T12],
|
||||
d13 Dependency[T13],
|
||||
d14 Dependency[T14],
|
||||
d15 Dependency[T15],
|
||||
f func(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) IOE.IOEither[error, R],
|
||||
) DIE.ProviderFactory {
|
||||
return DIE.MakeProviderFactory(
|
||||
A.From[DIE.Dependency](
|
||||
d1,
|
||||
d2,
|
||||
d3,
|
||||
d4,
|
||||
d5,
|
||||
d6,
|
||||
d7,
|
||||
d8,
|
||||
d9,
|
||||
d10,
|
||||
d11,
|
||||
d12,
|
||||
d13,
|
||||
d14,
|
||||
d15,
|
||||
),
|
||||
eraseProviderFactory15(
|
||||
d1,
|
||||
d2,
|
||||
d3,
|
||||
d4,
|
||||
d5,
|
||||
d6,
|
||||
d7,
|
||||
d8,
|
||||
d9,
|
||||
d10,
|
||||
d11,
|
||||
d12,
|
||||
d13,
|
||||
d14,
|
||||
d15,
|
||||
f,
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
// MakeTokenWithDefault15 creates an [InjectionToken] with a default implementation with 15 dependencies
|
||||
func MakeTokenWithDefault15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 any, R any](
|
||||
name string,
|
||||
d1 Dependency[T1],
|
||||
d2 Dependency[T2],
|
||||
d3 Dependency[T3],
|
||||
d4 Dependency[T4],
|
||||
d5 Dependency[T5],
|
||||
d6 Dependency[T6],
|
||||
d7 Dependency[T7],
|
||||
d8 Dependency[T8],
|
||||
d9 Dependency[T9],
|
||||
d10 Dependency[T10],
|
||||
d11 Dependency[T11],
|
||||
d12 Dependency[T12],
|
||||
d13 Dependency[T13],
|
||||
d14 Dependency[T14],
|
||||
d15 Dependency[T15],
|
||||
f func(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) IOE.IOEither[error, R],
|
||||
) InjectionToken[R] {
|
||||
return MakeTokenWithDefault[R](name, MakeProviderFactory15(
|
||||
d1,
|
||||
d2,
|
||||
d3,
|
||||
d4,
|
||||
d5,
|
||||
d6,
|
||||
d7,
|
||||
d8,
|
||||
d9,
|
||||
d10,
|
||||
d11,
|
||||
d12,
|
||||
d13,
|
||||
d14,
|
||||
d15,
|
||||
f,
|
||||
))
|
||||
}
|
||||
|
||||
// MakeProvider15 creates a [DIE.Provider] for an [InjectionToken] from a function with 15 dependencies
|
||||
func MakeProvider15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 any, R any](
|
||||
token InjectionToken[R],
|
||||
d1 Dependency[T1],
|
||||
d2 Dependency[T2],
|
||||
d3 Dependency[T3],
|
||||
d4 Dependency[T4],
|
||||
d5 Dependency[T5],
|
||||
d6 Dependency[T6],
|
||||
d7 Dependency[T7],
|
||||
d8 Dependency[T8],
|
||||
d9 Dependency[T9],
|
||||
d10 Dependency[T10],
|
||||
d11 Dependency[T11],
|
||||
d12 Dependency[T12],
|
||||
d13 Dependency[T13],
|
||||
d14 Dependency[T14],
|
||||
d15 Dependency[T15],
|
||||
f func(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) IOE.IOEither[error, R],
|
||||
) DIE.Provider {
|
||||
return DIE.MakeProvider(
|
||||
token,
|
||||
MakeProviderFactory15(
|
||||
d1,
|
||||
d2,
|
||||
d3,
|
||||
d4,
|
||||
d5,
|
||||
d6,
|
||||
d7,
|
||||
d8,
|
||||
d9,
|
||||
d10,
|
||||
d11,
|
||||
d12,
|
||||
d13,
|
||||
d14,
|
||||
d15,
|
||||
f,
|
||||
))
|
||||
}
|
||||
|
Reference in New Issue
Block a user