func()

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
}