in releases/go/encryption-sdk/ESDK/ESDK.go [296:361]
func (_static *CompanionStruct_Default___) ESDK(config m_AwsCryptographyEncryptionSdkTypes.AwsEncryptionSdkConfig) m_Wrappers.Result {
var res m_Wrappers.Result = m_Wrappers.Result{}
_ = res
var _0_maybeCrypto m_Wrappers.Result
_ = _0_maybeCrypto
var _out0 m_Wrappers.Result
_ = _out0
_out0 = m_AtomicPrimitives.Companion_Default___.AtomicPrimitives(m_AtomicPrimitives.Companion_Default___.DefaultCryptoConfig())
_0_maybeCrypto = _out0
var _1_valueOrError0 m_Wrappers.Result = m_Wrappers.Result{}
_ = _1_valueOrError0
_1_valueOrError0 = (_0_maybeCrypto).MapFailure(func(coer37 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyEncryptionSdkTypes.Error) func(interface{}) interface{} {
return func(arg38 interface{}) interface{} {
return coer37(arg38.(m_AwsCryptographyPrimitivesTypes.Error))
}
}(func(_2_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyEncryptionSdkTypes.Error {
return m_AwsCryptographyEncryptionSdkTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_2_e)
}))
if (_1_valueOrError0).IsFailure() {
res = (_1_valueOrError0).PropagateFailure()
return res
}
var _3_cryptoX m_AwsCryptographyPrimitivesTypes.IAwsCryptographicPrimitivesClient
_ = _3_cryptoX
_3_cryptoX = (_1_valueOrError0).Extract().(*m_AtomicPrimitives.AtomicPrimitivesClient)
var _4_crypto *m_AtomicPrimitives.AtomicPrimitivesClient
_ = _4_crypto
_4_crypto = _3_cryptoX.(*m_AtomicPrimitives.AtomicPrimitivesClient)
var _5_maybeMpl m_Wrappers.Result
_ = _5_maybeMpl
var _out1 m_Wrappers.Result
_ = _out1
_out1 = m_MaterialProviders.Companion_Default___.MaterialProviders(m_MaterialProviders.Companion_Default___.DefaultMaterialProvidersConfig())
_5_maybeMpl = _out1
var _6_valueOrError1 m_Wrappers.Result = m_Wrappers.Result{}
_ = _6_valueOrError1
_6_valueOrError1 = (_5_maybeMpl).MapFailure(func(coer38 func(m_AwsCryptographyMaterialProvidersTypes.Error) m_AwsCryptographyEncryptionSdkTypes.Error) func(interface{}) interface{} {
return func(arg39 interface{}) interface{} {
return coer38(arg39.(m_AwsCryptographyMaterialProvidersTypes.Error))
}
}(func(_7_e m_AwsCryptographyMaterialProvidersTypes.Error) m_AwsCryptographyEncryptionSdkTypes.Error {
return m_AwsCryptographyEncryptionSdkTypes.Companion_Error_.Create_AwsCryptographyMaterialProviders_(_7_e)
}))
if (_6_valueOrError1).IsFailure() {
res = (_6_valueOrError1).PropagateFailure()
return res
}
var _8_mplX m_AwsCryptographyMaterialProvidersTypes.IAwsCryptographicMaterialProvidersClient
_ = _8_mplX
_8_mplX = (_6_valueOrError1).Extract().(*m_MaterialProviders.MaterialProvidersClient)
var _9_mpl *m_MaterialProviders.MaterialProvidersClient
_ = _9_mpl
_9_mpl = _8_mplX.(*m_MaterialProviders.MaterialProvidersClient)
var _10_internalConfig m_AwsEncryptionSdkOperations.Config
_ = _10_internalConfig
_10_internalConfig = m_AwsEncryptionSdkOperations.Companion_Config_.Create_Config_(_4_crypto, _9_mpl, ((config).Dtor_commitmentPolicy()).UnwrapOr(m_AwsCryptographyMaterialProvidersTypes.Companion_ESDKCommitmentPolicy_.Create_REQUIRE__ENCRYPT__REQUIRE__DECRYPT_()).(m_AwsCryptographyMaterialProvidersTypes.ESDKCommitmentPolicy), (config).Dtor_maxEncryptedDataKeys(), ((config).Dtor_netV4__0__0__RetryPolicy()).UnwrapOr(m_AwsCryptographyEncryptionSdkTypes.Companion_NetV4__0__0__RetryPolicy_.Create_ALLOW__RETRY_()).(m_AwsCryptographyEncryptionSdkTypes.NetV4__0__0__RetryPolicy))
var _11_client *ESDKClient
_ = _11_client
var _nw0 *ESDKClient = New_ESDKClient_()
_ = _nw0
_nw0.Ctor__(_10_internalConfig)
_11_client = _nw0
res = m_Wrappers.Companion_Result_.Create_Success_(_11_client)
return res
return res
}