Skip to content

Configuration builder base#2075

Merged
erenbesel merged 2 commits intov6_basefrom
chore/v6_main_pillars
Mar 28, 2025
Merged

Configuration builder base#2075
erenbesel merged 2 commits intov6_basefrom
chore/v6_main_pillars

Conversation

@erenbesel
Copy link
Copy Markdown
Contributor

Summary

Foundation work start on v6. Configuration builder skeleton.

Ticket

COIOS-888

@erenbesel erenbesel added the chore a pull request that has chore changes that shouldn't be in the release notes label Mar 26, 2025
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 26, 2025

👀 8 public changes detected

Comparing chore/v6_main_pillars to v6_base

❇️8 Additions

Adyen

❇️ Added

@resultBuilder
public struct ConfigurationBuilder {
  public static func buildBlock(_ components: any Adyen.CheckoutConfigurable) -> any Adyen.CheckoutConfigurable
  public static func buildEither(first component: any Adyen.CheckoutConfigurable) -> any Adyen.CheckoutConfigurable
  public static func buildEither(second component: any Adyen.CheckoutConfigurable) -> any Adyen.CheckoutConfigurable
}
public protocol CheckoutConfigurable
public struct CheckoutConfiguration {
  public func onComplete(_ onComplete: @escaping Adyen.CheckoutSuccessHandler) -> Adyen.CheckoutConfiguration
  public func onError(_ onError: @escaping Adyen.CheckoutErrorHandler) -> Adyen.CheckoutConfiguration
  public func onSubmit(_ onSubmit: @escaping Adyen.SubmitHandler) -> Adyen.CheckoutConfiguration
  public init(
    environment: Adyen.Environment,
    amount: Adyen.Amount,
    clientKey: Swift.String,
    @Adyen.ConfigurationBuilder content: () -> any Adyen.CheckoutConfigurable
  ) throws
  public mutating func onAdditionalDetails(_ onAdditionalDetails: @escaping Adyen.AdditionalDetailsHandler) -> Adyen.CheckoutConfiguration
}
public typealias AdditionalDetailsHandler = (_ data: Adyen.ActionComponentData, _ handler: Adyen.PaymentsResponseHandler?) -> Swift.Void
public typealias CheckoutErrorHandler = (_ error: any Swift.Error) -> Swift.Void
public typealias CheckoutSuccessHandler = (_ resultCode: Swift.String) -> Swift.Void
public typealias PaymentsResponseHandler = (_ resultCode: Swift.String, _ action: Swift.String) -> Swift.Void
public typealias SubmitHandler = (_ data: Adyen.PaymentComponentData, _ handler: Adyen.PaymentsResponseHandler?) -> Swift.Void

Analyzed targets: Adyen, AdyenActions, AdyenCard, AdyenCashAppPay, AdyenComponents, AdyenDelegatedAuthentication, AdyenDropIn, AdyenEncryption, AdyenSession, AdyenSwiftUI, AdyenTwint, AdyenWeChatPay

Copy link
Copy Markdown
Contributor

@goergisn goergisn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great already!

Comment thread Adyen/CheckoutConfiguration/ConfigurationBuilder.swift Outdated
Comment thread Adyen/CheckoutConfiguration/CheckoutConfiguration.swift Outdated
@github-actions
Copy link
Copy Markdown
Contributor

👀 8 public changes detected

Comparing chore/v6_main_pillars to v6_base

❇️8 Additions

Adyen

❇️ Added

@_functionBuilder
public struct CheckoutConfigurationBuilder {
  public static func buildBlock(_ components: any Adyen.CheckoutConfigurable) -> any Adyen.CheckoutConfigurable
  public static func buildEither(first component: any Adyen.CheckoutConfigurable) -> any Adyen.CheckoutConfigurable
  public static func buildEither(second component: any Adyen.CheckoutConfigurable) -> any Adyen.CheckoutConfigurable
}
public protocol CheckoutConfigurable
public struct CheckoutConfiguration {
  public func onComplete(_ onComplete: @escaping Adyen.CheckoutSuccessHandler) -> Adyen.CheckoutConfiguration
  public func onError(_ onError: @escaping Adyen.CheckoutErrorHandler) -> Adyen.CheckoutConfiguration
  public func onSubmit(_ onSubmit: @escaping Adyen.SubmitHandler) -> Adyen.CheckoutConfiguration
  public init(
    environment: Adyen.Environment,
    amount: Adyen.Amount,
    clientKey: Swift.String,
    content: () -> any Adyen.CheckoutConfigurable
  ) throws
  public mutating func onAdditionalDetails(_ onAdditionalDetails: @escaping Adyen.AdditionalDetailsHandler) -> Adyen.CheckoutConfiguration
}
public typealias AdditionalDetailsHandler = (_ data: Adyen.ActionComponentData, _ handler: Adyen.PaymentsResponseHandler?) -> Swift.Void
public typealias CheckoutErrorHandler = (_ error: any Swift.Error) -> Swift.Void
public typealias CheckoutSuccessHandler = (_ resultCode: Swift.String) -> Swift.Void
public typealias PaymentsResponseHandler = (_ resultCode: Swift.String, _ action: Swift.String) -> Swift.Void
public typealias SubmitHandler = (_ data: Adyen.PaymentComponentData, _ handler: Adyen.PaymentsResponseHandler?) -> Swift.Void

Analyzed targets: Adyen, AdyenActions, AdyenCard, AdyenCashAppPay, AdyenComponents, AdyenDelegatedAuthentication, AdyenDropIn, AdyenEncryption, AdyenSession, AdyenSwiftUI, AdyenTwint, AdyenWeChatPay

@sonarqubecloud
Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
0.0% Coverage on New Code (required ≥ 70%)

See analysis details on SonarQube Cloud

@erenbesel erenbesel merged commit 403690b into v6_base Mar 28, 2025
9 of 12 checks passed
@erenbesel erenbesel deleted the chore/v6_main_pillars branch March 28, 2025 15:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore a pull request that has chore changes that shouldn't be in the release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants