diff --git a/platforms/swift/Sources/ShopifyCheckoutKit/CheckoutProtocol.swift b/platforms/swift/Sources/ShopifyCheckoutKit/CheckoutProtocol.swift
index 3ac07ce4..547114dc 100644
--- a/platforms/swift/Sources/ShopifyCheckoutKit/CheckoutProtocol.swift
+++ b/platforms/swift/Sources/ShopifyCheckoutKit/CheckoutProtocol.swift
@@ -7,10 +7,10 @@ public enum CheckoutProtocol {
public typealias Client = EmbeddedCheckoutProtocol.Client
public static func url(for url: URL) -> URL {
- EmbeddedCheckoutProtocol.url(for: url, delegations: defaultDelegations)
+ EmbeddedCheckoutProtocol.url(for: url, options: .init(delegations: defaultDelegations))
}
- static let defaultDelegations: [String] = ["window.open"]
+ static let defaultDelegations: [EmbeddedCheckoutProtocol.Delegation] = [.windowOpen]
static let methodNotFoundCode = -32601
static let methodNotFoundMessage = "Method not found"
diff --git a/platforms/swift/Sources/ShopifyCheckoutKit/CheckoutWebView.swift b/platforms/swift/Sources/ShopifyCheckoutKit/CheckoutWebView.swift
index 8747cd28..dad0b30d 100644
--- a/platforms/swift/Sources/ShopifyCheckoutKit/CheckoutWebView.swift
+++ b/platforms/swift/Sources/ShopifyCheckoutKit/CheckoutWebView.swift
@@ -459,7 +459,7 @@ extension CheckoutWebView: WKScriptMessageHandler {
}
if method == EmbeddedCheckoutProtocol.readyMethod,
- let response = EmbeddedCheckoutProtocol.acknowledgeReady(body, supportedDelegations: CheckoutProtocol.defaultDelegations)
+ let response = EmbeddedCheckoutProtocol.acknowledgeReady(body, supportedDelegations: CheckoutProtocol.defaultDelegations.map(\.rawValue))
{
OSLogger.shared.debug("Handling ec.ready: sending UCP ready acknowledgement, isPreload: \(isPreloadRequest)")
Task { @MainActor in
diff --git a/platforms/swift/Tests/ShopifyCheckoutKitTests/CheckoutWebViewControllerTests.swift b/platforms/swift/Tests/ShopifyCheckoutKitTests/CheckoutWebViewControllerTests.swift
index 67fcbc2e..0ebcdf28 100644
--- a/platforms/swift/Tests/ShopifyCheckoutKitTests/CheckoutWebViewControllerTests.swift
+++ b/platforms/swift/Tests/ShopifyCheckoutKitTests/CheckoutWebViewControllerTests.swift
@@ -75,7 +75,7 @@ class CheckoutWebViewControllerTests: XCTestCase {
func test_presentationControllerDidDismiss_doesNotCleanUpBeforeViewDisappears() throws {
ShopifyCheckoutKit.configuration.preloading.enabled = true
ShopifyCheckoutKit.preload(checkout: url)
- let viewController = TestableCheckoutWebViewController(checkoutURL: EmbeddedCheckoutProtocol.url(for: url, delegations: CheckoutProtocol.defaultDelegations), entryPoint: nil)
+ let viewController = TestableCheckoutWebViewController(checkoutURL: EmbeddedCheckoutProtocol.url(for: url, options: .init(delegations: CheckoutProtocol.defaultDelegations)), entryPoint: nil)
viewController.loadViewIfNeeded()
let checkoutView = try XCTUnwrap(viewController.checkoutView)
@@ -93,7 +93,7 @@ class CheckoutWebViewControllerTests: XCTestCase {
func test_viewDidDisappear_cleansUpConsumedPreloadedWebViewWhenDismissed() throws {
ShopifyCheckoutKit.configuration.preloading.enabled = true
ShopifyCheckoutKit.preload(checkout: url)
- let viewController = TestableCheckoutWebViewController(checkoutURL: EmbeddedCheckoutProtocol.url(for: url, delegations: CheckoutProtocol.defaultDelegations), entryPoint: nil)
+ let viewController = TestableCheckoutWebViewController(checkoutURL: EmbeddedCheckoutProtocol.url(for: url, options: .init(delegations: CheckoutProtocol.defaultDelegations)), entryPoint: nil)
viewController.loadViewIfNeeded()
let checkoutView = try XCTUnwrap(viewController.checkoutView)
diff --git a/platforms/swift/Tests/ShopifyCheckoutKitTests/CheckoutWebViewTests.swift b/platforms/swift/Tests/ShopifyCheckoutKitTests/CheckoutWebViewTests.swift
index ad49ba11..6c4bae2b 100644
--- a/platforms/swift/Tests/ShopifyCheckoutKitTests/CheckoutWebViewTests.swift
+++ b/platforms/swift/Tests/ShopifyCheckoutKitTests/CheckoutWebViewTests.swift
@@ -284,7 +284,7 @@ class CheckoutWebViewTests: XCTestCase {
XCTAssertTrue(CheckoutWebView.preloadCache.hasEntry())
XCTAssertTrue(CheckoutWebView.preloadCache.hasActiveKeepAlive())
- let cached = CheckoutWebView.for(checkout: EmbeddedCheckoutProtocol.url(for: url, delegations: CheckoutProtocol.defaultDelegations))
+ let cached = CheckoutWebView.for(checkout: EmbeddedCheckoutProtocol.url(for: url, options: .init(delegations: CheckoutProtocol.defaultDelegations)))
XCTAssertTrue(CheckoutWebView.preloadCache.hasEntry())
XCTAssertFalse(CheckoutWebView.preloadCache.hasActiveKeepAlive())
@@ -305,8 +305,8 @@ class CheckoutWebViewTests: XCTestCase {
func testPresentingMatchingCheckoutReusesCachedWebViewWithoutEvictingIt() {
ShopifyCheckoutKit.preload(checkout: url)
- let first = CheckoutWebView.for(checkout: EmbeddedCheckoutProtocol.url(for: url, delegations: CheckoutProtocol.defaultDelegations))
- let second = CheckoutWebView.for(checkout: EmbeddedCheckoutProtocol.url(for: url, delegations: CheckoutProtocol.defaultDelegations))
+ let first = CheckoutWebView.for(checkout: EmbeddedCheckoutProtocol.url(for: url, options: .init(delegations: CheckoutProtocol.defaultDelegations)))
+ let second = CheckoutWebView.for(checkout: EmbeddedCheckoutProtocol.url(for: url, options: .init(delegations: CheckoutProtocol.defaultDelegations)))
XCTAssertTrue(first === second)
XCTAssertTrue(CheckoutWebView.preloadCache.hasEntry())
@@ -411,7 +411,7 @@ class CheckoutWebViewTests: XCTestCase {
func testInvalidateDetachesCachedPreloadedWebView() {
ShopifyCheckoutKit.preload(checkout: url)
- let cached = CheckoutWebView.for(checkout: EmbeddedCheckoutProtocol.url(for: url, delegations: CheckoutProtocol.defaultDelegations))
+ let cached = CheckoutWebView.for(checkout: EmbeddedCheckoutProtocol.url(for: url, options: .init(delegations: CheckoutProtocol.defaultDelegations)))
XCTAssertTrue(cached.isBridgeAttached)
ShopifyCheckoutKit.invalidate()
@@ -422,7 +422,7 @@ class CheckoutWebViewTests: XCTestCase {
func testHTTPErrorInvalidatesPreloadCache() throws {
ShopifyCheckoutKit.preload(checkout: url)
- let cached = CheckoutWebView.for(checkout: EmbeddedCheckoutProtocol.url(for: url, delegations: CheckoutProtocol.defaultDelegations))
+ let cached = CheckoutWebView.for(checkout: EmbeddedCheckoutProtocol.url(for: url, options: .init(delegations: CheckoutProtocol.defaultDelegations)))
let link = try XCTUnwrap(cached.url)
let response = try XCTUnwrap(HTTPURLResponse(url: link, statusCode: 403, httpVersion: nil, headerFields: nil))
diff --git a/platforms/swift/api/ShopifyCheckoutProtocol.json b/platforms/swift/api/ShopifyCheckoutProtocol.json
index 6d5fa0d9..c7a3341b 100644
--- a/platforms/swift/api/ShopifyCheckoutProtocol.json
+++ b/platforms/swift/api/ShopifyCheckoutProtocol.json
@@ -712,189 +712,208 @@
}
]
},
- {
- "kind": "Function",
- "name": "url",
- "printedName": "url(for:delegations:)",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "URL",
- "printedName": "Foundation.URL",
- "usr": "s:10Foundation3URLV"
- },
- {
- "kind": "TypeNominal",
- "name": "URL",
- "printedName": "Foundation.URL",
- "usr": "s:10Foundation3URLV"
- },
- {
- "kind": "TypeNominal",
- "name": "Array",
- "printedName": "[Swift.String]",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "String",
- "printedName": "Swift.String",
- "usr": "s:SS"
- }
- ],
- "hasDefaultArg": true,
- "usr": "s:Sa"
- }
- ],
- "declKind": "Func",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O3url3for11delegations10Foundation3URLVAI_SaySSGtFZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O3url3for11delegations10Foundation3URLVAI_SaySSGtFZ",
- "moduleName": "ShopifyCheckoutProtocol",
- "static": true,
- "funcSelfKind": "NonMutating"
- },
{
"kind": "TypeDecl",
- "name": "Client",
- "printedName": "Client",
+ "name": "Options",
+ "printedName": "Options",
"children": [
{
- "kind": "Constructor",
- "name": "init",
- "printedName": "init()",
+ "kind": "Var",
+ "name": "delegations",
+ "printedName": "delegations",
"children": [
{
"kind": "TypeNominal",
- "name": "Client",
- "printedName": "ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Client",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O6ClientV"
+ "name": "Array",
+ "printedName": "[ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Delegation]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Delegation",
+ "printedName": "ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Delegation",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV"
+ }
+ ],
+ "usr": "s:Sa"
}
],
- "declKind": "Constructor",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O6ClientVAEycfc",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O6ClientVAEycfc",
+ "declKind": "Var",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O7OptionsV11delegationsSayAC10DelegationVGvp",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O7OptionsV11delegationsSayAC10DelegationVGvp",
"moduleName": "ShopifyCheckoutProtocol",
- "init_kind": "Designated"
- },
- {
- "kind": "Function",
- "name": "on",
- "printedName": "on(_:perform:)",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "Client",
- "printedName": "ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Client",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O6ClientV"
- },
+ "declAttributes": [
+ "HasStorage"
+ ],
+ "hasStorage": true,
+ "accessors": [
{
- "kind": "TypeNominal",
- "name": "NotificationDescriptor",
- "printedName": "ShopifyCheckoutProtocol.NotificationDescriptor
",
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
"children": [
{
"kind": "TypeNominal",
- "name": "GenericTypeParam",
- "printedName": "P"
+ "name": "Array",
+ "printedName": "[ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Delegation]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Delegation",
+ "printedName": "ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Delegation",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV"
+ }
+ ],
+ "usr": "s:Sa"
}
],
- "usr": "s:23ShopifyCheckoutProtocol22NotificationDescriptorV"
+ "declKind": "Accessor",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O7OptionsV11delegationsSayAC10DelegationVGvg",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O7OptionsV11delegationsSayAC10DelegationVGvg",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "implicit": true,
+ "declAttributes": [
+ "Transparent"
+ ],
+ "accessorKind": "get"
},
{
- "kind": "TypeFunc",
- "name": "Function",
- "printedName": "(P) -> Swift.Void",
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
"children": [
{
- "kind": "TypeNameAlias",
+ "kind": "TypeNominal",
"name": "Void",
- "printedName": "Swift.Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Delegation]",
"children": [
{
"kind": "TypeNominal",
- "name": "Void",
- "printedName": "()"
+ "name": "Delegation",
+ "printedName": "ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Delegation",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV"
}
- ]
- },
- {
- "kind": "TypeNominal",
- "name": "GenericTypeParam",
- "printedName": "P"
+ ],
+ "usr": "s:Sa"
}
- ]
+ ],
+ "declKind": "Accessor",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O7OptionsV11delegationsSayAC10DelegationVGvs",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O7OptionsV11delegationsSayAC10DelegationVGvs",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "implicit": true,
+ "declAttributes": [
+ "Transparent"
+ ],
+ "accessorKind": "set"
}
- ],
- "declKind": "Func",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O6ClientV2on_7performAeA22NotificationDescriptorVyxG_yxYbScMYcctAA12EventPayloadRzlF",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O6ClientV2on_7performAeA22NotificationDescriptorVyxG_yxYbScMYcctAA12EventPayloadRzlF",
- "moduleName": "ShopifyCheckoutProtocol",
- "genericSig": "
",
- "declAttributes": [
- "DiscardableResult"
- ],
- "funcSelfKind": "NonMutating"
+ ]
},
{
- "kind": "Function",
- "name": "on",
- "printedName": "on(_:perform:)",
+ "kind": "Var",
+ "name": "colorScheme",
+ "printedName": "colorScheme",
"children": [
{
"kind": "TypeNominal",
- "name": "Client",
- "printedName": "ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Client",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O6ClientV"
- },
- {
- "kind": "TypeNominal",
- "name": "DelegationDescriptor",
- "printedName": "ShopifyCheckoutProtocol.DelegationDescriptor
",
+ "name": "Optional",
+ "printedName": "Swift.String?",
"children": [
{
"kind": "TypeNominal",
- "name": "GenericTypeParam",
- "printedName": "P"
- },
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O7OptionsV11colorSchemeSSSgvp",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O7OptionsV11colorSchemeSSSgvp",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
{
"kind": "TypeNominal",
- "name": "GenericTypeParam",
- "printedName": "R"
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
}
],
- "usr": "s:23ShopifyCheckoutProtocol20DelegationDescriptorV"
+ "declKind": "Accessor",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O7OptionsV11colorSchemeSSSgvg",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O7OptionsV11colorSchemeSSSgvg",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "implicit": true,
+ "declAttributes": [
+ "Transparent"
+ ],
+ "accessorKind": "get"
},
{
- "kind": "TypeFunc",
- "name": "Function",
- "printedName": "(P) async -> R",
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
"children": [
{
"kind": "TypeNominal",
- "name": "GenericTypeParam",
- "printedName": "R"
+ "name": "Void",
+ "printedName": "()"
},
{
"kind": "TypeNominal",
- "name": "GenericTypeParam",
- "printedName": "P"
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
}
- ]
+ ],
+ "declKind": "Accessor",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O7OptionsV11colorSchemeSSSgvs",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O7OptionsV11colorSchemeSSSgvs",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "implicit": true,
+ "declAttributes": [
+ "Transparent"
+ ],
+ "accessorKind": "set"
}
- ],
- "declKind": "Func",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O6ClientV2on_7performAeA20DelegationDescriptorVyxq_G_q_xYaYbScMYcctAA12EventPayloadRzAA08ResponseK0R_r0_lF",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O6ClientV2on_7performAeA20DelegationDescriptorVyxq_G_q_xYaYbScMYcctAA12EventPayloadRzAA08ResponseK0R_r0_lF",
- "moduleName": "ShopifyCheckoutProtocol",
- "genericSig": "
",
- "declAttributes": [
- "DiscardableResult"
- ],
- "funcSelfKind": "NonMutating"
+ ]
},
{
- "kind": "Function",
- "name": "process",
- "printedName": "process(_:)",
+ "kind": "Var",
+ "name": "auth",
+ "printedName": "auth",
"children": [
{
"kind": "TypeNominal",
@@ -909,26 +928,153 @@
}
],
"usr": "s:Sq"
- },
- {
- "kind": "TypeNominal",
- "name": "String",
- "printedName": "Swift.String",
- "usr": "s:SS"
}
],
- "declKind": "Func",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O6ClientV7processySSSgSSYaF",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O6ClientV7processySSSgSSYaF",
+ "declKind": "Var",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O7OptionsV4authSSSgvp",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O7OptionsV4authSSSgvp",
"moduleName": "ShopifyCheckoutProtocol",
- "funcSelfKind": "NonMutating"
- }
- ],
- "declKind": "Struct",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O6ClientV",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O6ClientV",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O7OptionsV4authSSSgvg",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O7OptionsV4authSSSgvg",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "implicit": true,
+ "declAttributes": [
+ "Transparent"
+ ],
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O7OptionsV4authSSSgvs",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O7OptionsV4authSSSgvs",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "implicit": true,
+ "declAttributes": [
+ "Transparent"
+ ],
+ "accessorKind": "set"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(delegations:colorScheme:auth:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Options",
+ "printedName": "ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Options",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O7OptionsV"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Delegation]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Delegation",
+ "printedName": "ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Delegation",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV"
+ }
+ ],
+ "hasDefaultArg": true,
+ "usr": "s:Sa"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "hasDefaultArg": true,
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "hasDefaultArg": true,
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O7OptionsV11delegations11colorScheme4authAESayAC10DelegationVG_SSSgALtcfc",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O7OptionsV11delegations11colorScheme4authAESayAC10DelegationVG_SSSgALtcfc",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Struct",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O7OptionsV",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O7OptionsV",
"moduleName": "ShopifyCheckoutProtocol",
- "isFromExtension": true,
"conformances": [
{
"kind": "Conformance",
@@ -962,73 +1108,614 @@
},
{
"kind": "Function",
- "name": "acknowledgeReady",
- "printedName": "acknowledgeReady(_:supportedDelegations:)",
+ "name": "url",
+ "printedName": "url(for:options:)",
"children": [
{
"kind": "TypeNominal",
- "name": "Optional",
- "printedName": "Swift.String?",
+ "name": "URL",
+ "printedName": "Foundation.URL",
+ "usr": "s:10Foundation3URLV"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "URL",
+ "printedName": "Foundation.URL",
+ "usr": "s:10Foundation3URLV"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Options",
+ "printedName": "ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Options",
+ "hasDefaultArg": true,
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O7OptionsV"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O3url3for7options10Foundation3URLVAI_AC7OptionsVtFZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O3url3for7options10Foundation3URLVAI_AC7OptionsVtFZ",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "static": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "Client",
+ "printedName": "Client",
+ "children": [
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
"children": [
{
"kind": "TypeNominal",
- "name": "String",
- "printedName": "Swift.String",
- "usr": "s:SS"
+ "name": "Client",
+ "printedName": "ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Client",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O6ClientV"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O6ClientVAEycfc",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O6ClientVAEycfc",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "on",
+ "printedName": "on(_:perform:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Client",
+ "printedName": "ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Client",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O6ClientV"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "NotificationDescriptor",
+ "printedName": "ShopifyCheckoutProtocol.NotificationDescriptor
",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "P"
+ }
+ ],
+ "usr": "s:23ShopifyCheckoutProtocol22NotificationDescriptorV"
+ },
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(P) -> Swift.Void",
+ "children": [
+ {
+ "kind": "TypeNameAlias",
+ "name": "Void",
+ "printedName": "Swift.Void",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "P"
+ }
+ ]
}
],
- "usr": "s:Sq"
- },
- {
- "kind": "TypeNominal",
- "name": "String",
- "printedName": "Swift.String",
- "usr": "s:SS"
- },
- {
- "kind": "TypeNominal",
- "name": "Array",
- "printedName": "[Swift.String]",
- "children": [
+ "declKind": "Func",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O6ClientV2on_7performAeA22NotificationDescriptorVyxG_yxYbScMYcctAA12EventPayloadRzlF",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O6ClientV2on_7performAeA22NotificationDescriptorVyxG_yxYbScMYcctAA12EventPayloadRzlF",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "genericSig": "
",
+ "declAttributes": [
+ "DiscardableResult"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "on",
+ "printedName": "on(_:perform:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Client",
+ "printedName": "ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Client",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O6ClientV"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "DelegationDescriptor",
+ "printedName": "ShopifyCheckoutProtocol.DelegationDescriptor
",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "P"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "R"
+ }
+ ],
+ "usr": "s:23ShopifyCheckoutProtocol20DelegationDescriptorV"
+ },
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(P) async -> R",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "R"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "P"
+ }
+ ]
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O6ClientV2on_7performAeA20DelegationDescriptorVyxq_G_q_xYaYbScMYcctAA12EventPayloadRzAA08ResponseK0R_r0_lF",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O6ClientV2on_7performAeA20DelegationDescriptorVyxq_G_q_xYaYbScMYcctAA12EventPayloadRzAA08ResponseK0R_r0_lF",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "genericSig": "
",
+ "declAttributes": [
+ "DiscardableResult"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "process",
+ "printedName": "process(_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O6ClientV7processySSSgSSYaF",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O6ClientV7processySSSgSSYaF",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Struct",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O6ClientV",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O6ClientV",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "isFromExtension": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Sendable",
+ "printedName": "Sendable",
+ "usr": "s:s8SendableP",
+ "mangledName": "$ss8SendableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "SendableMetatype",
+ "printedName": "SendableMetatype",
+ "usr": "s:s16SendableMetatypeP",
+ "mangledName": "$ss16SendableMetatypeP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
+ },
+ {
+ "kind": "Function",
+ "name": "acknowledgeReady",
+ "printedName": "acknowledgeReady(_:supportedDelegations:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.String]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "hasDefaultArg": true,
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O16acknowledgeReady_20supportedDelegationsSSSgSS_SaySSGtFZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O16acknowledgeReady_20supportedDelegationsSSSgSS_SaySSGtFZ",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "static": true,
+ "isFromExtension": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "Event",
+ "printedName": "Event",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "ready",
+ "printedName": "ready",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "RequestDescriptor",
+ "printedName": "ShopifyCheckoutProtocol.RequestDescriptor",
+ "usr": "s:23ShopifyCheckoutProtocol17RequestDescriptorV"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO5readyAA17RequestDescriptorVvpZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO5readyAA17RequestDescriptorVvpZ",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "RequestDescriptor",
+ "printedName": "ShopifyCheckoutProtocol.RequestDescriptor",
+ "usr": "s:23ShopifyCheckoutProtocol17RequestDescriptorV"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO5readyAA17RequestDescriptorVvgZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO5readyAA17RequestDescriptorVvgZ",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Transparent"
+ ],
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "auth",
+ "printedName": "auth",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "RequestDescriptor",
+ "printedName": "ShopifyCheckoutProtocol.RequestDescriptor",
+ "usr": "s:23ShopifyCheckoutProtocol17RequestDescriptorV"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO4authAA17RequestDescriptorVvpZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO4authAA17RequestDescriptorVvpZ",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "RequestDescriptor",
+ "printedName": "ShopifyCheckoutProtocol.RequestDescriptor",
+ "usr": "s:23ShopifyCheckoutProtocol17RequestDescriptorV"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO4authAA17RequestDescriptorVvgZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO4authAA17RequestDescriptorVvgZ",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Transparent"
+ ],
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "error",
+ "printedName": "error",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NotificationDescriptor",
+ "printedName": "ShopifyCheckoutProtocol.NotificationDescriptor",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "ErrorResponse",
+ "printedName": "ShopifyCheckoutProtocol.ErrorResponse",
+ "usr": "s:23ShopifyCheckoutProtocol13ErrorResponseV"
+ }
+ ],
+ "usr": "s:23ShopifyCheckoutProtocol22NotificationDescriptorV"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO5errorAA22NotificationDescriptorVyAA13ErrorResponseVGvpZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO5errorAA22NotificationDescriptorVyAA13ErrorResponseVGvpZ",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NotificationDescriptor",
+ "printedName": "ShopifyCheckoutProtocol.NotificationDescriptor",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "ErrorResponse",
+ "printedName": "ShopifyCheckoutProtocol.ErrorResponse",
+ "usr": "s:23ShopifyCheckoutProtocol13ErrorResponseV"
+ }
+ ],
+ "usr": "s:23ShopifyCheckoutProtocol22NotificationDescriptorV"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO5errorAA22NotificationDescriptorVyAA13ErrorResponseVGvgZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO5errorAA22NotificationDescriptorVyAA13ErrorResponseVGvgZ",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Transparent"
+ ],
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "start",
+ "printedName": "start",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NotificationDescriptor",
+ "printedName": "ShopifyCheckoutProtocol.NotificationDescriptor",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Checkout",
+ "printedName": "ShopifyCheckoutProtocol.Checkout",
+ "usr": "s:23ShopifyCheckoutProtocol0B0V"
+ }
+ ],
+ "usr": "s:23ShopifyCheckoutProtocol22NotificationDescriptorV"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO5startAA22NotificationDescriptorVyAA0B0VGvpZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO5startAA22NotificationDescriptorVyAA0B0VGvpZ",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NotificationDescriptor",
+ "printedName": "ShopifyCheckoutProtocol.NotificationDescriptor",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Checkout",
+ "printedName": "ShopifyCheckoutProtocol.Checkout",
+ "usr": "s:23ShopifyCheckoutProtocol0B0V"
+ }
+ ],
+ "usr": "s:23ShopifyCheckoutProtocol22NotificationDescriptorV"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO5startAA22NotificationDescriptorVyAA0B0VGvgZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO5startAA22NotificationDescriptorVyAA0B0VGvgZ",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Transparent"
+ ],
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "complete",
+ "printedName": "complete",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NotificationDescriptor",
+ "printedName": "ShopifyCheckoutProtocol.NotificationDescriptor",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Checkout",
+ "printedName": "ShopifyCheckoutProtocol.Checkout",
+ "usr": "s:23ShopifyCheckoutProtocol0B0V"
+ }
+ ],
+ "usr": "s:23ShopifyCheckoutProtocol22NotificationDescriptorV"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO8completeAA22NotificationDescriptorVyAA0B0VGvpZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO8completeAA22NotificationDescriptorVyAA0B0VGvpZ",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
{
- "kind": "TypeNominal",
- "name": "String",
- "printedName": "Swift.String",
- "usr": "s:SS"
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NotificationDescriptor",
+ "printedName": "ShopifyCheckoutProtocol.NotificationDescriptor",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Checkout",
+ "printedName": "ShopifyCheckoutProtocol.Checkout",
+ "usr": "s:23ShopifyCheckoutProtocol0B0V"
+ }
+ ],
+ "usr": "s:23ShopifyCheckoutProtocol22NotificationDescriptorV"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO8completeAA22NotificationDescriptorVyAA0B0VGvgZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO8completeAA22NotificationDescriptorVyAA0B0VGvgZ",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Transparent"
+ ],
+ "accessorKind": "get"
}
- ],
- "hasDefaultArg": true,
- "usr": "s:Sa"
- }
- ],
- "declKind": "Func",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O16acknowledgeReady_20supportedDelegationsSSSgSS_SaySSGtFZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O16acknowledgeReady_20supportedDelegationsSSSgSS_SaySSGtFZ",
- "moduleName": "ShopifyCheckoutProtocol",
- "static": true,
- "isFromExtension": true,
- "funcSelfKind": "NonMutating"
- },
- {
- "kind": "TypeDecl",
- "name": "Event",
- "printedName": "Event",
- "children": [
+ ]
+ },
{
"kind": "Var",
- "name": "ready",
- "printedName": "ready",
+ "name": "messagesChange",
+ "printedName": "messagesChange",
"children": [
{
"kind": "TypeNominal",
- "name": "RequestDescriptor",
- "printedName": "ShopifyCheckoutProtocol.RequestDescriptor",
- "usr": "s:23ShopifyCheckoutProtocol17RequestDescriptorV"
+ "name": "NotificationDescriptor",
+ "printedName": "ShopifyCheckoutProtocol.NotificationDescriptor",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Checkout",
+ "printedName": "ShopifyCheckoutProtocol.Checkout",
+ "usr": "s:23ShopifyCheckoutProtocol0B0V"
+ }
+ ],
+ "usr": "s:23ShopifyCheckoutProtocol22NotificationDescriptorV"
}
],
"declKind": "Var",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO5readyAA17RequestDescriptorVvpZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO5readyAA17RequestDescriptorVvpZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO14messagesChangeAA22NotificationDescriptorVyAA0B0VGvpZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO14messagesChangeAA22NotificationDescriptorVyAA0B0VGvpZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"declAttributes": [
@@ -1045,14 +1732,22 @@
"children": [
{
"kind": "TypeNominal",
- "name": "RequestDescriptor",
- "printedName": "ShopifyCheckoutProtocol.RequestDescriptor",
- "usr": "s:23ShopifyCheckoutProtocol17RequestDescriptorV"
+ "name": "NotificationDescriptor",
+ "printedName": "ShopifyCheckoutProtocol.NotificationDescriptor",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Checkout",
+ "printedName": "ShopifyCheckoutProtocol.Checkout",
+ "usr": "s:23ShopifyCheckoutProtocol0B0V"
+ }
+ ],
+ "usr": "s:23ShopifyCheckoutProtocol22NotificationDescriptorV"
}
],
"declKind": "Accessor",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO5readyAA17RequestDescriptorVvgZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO5readyAA17RequestDescriptorVvgZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO14messagesChangeAA22NotificationDescriptorVyAA0B0VGvgZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO14messagesChangeAA22NotificationDescriptorVyAA0B0VGvgZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"implicit": true,
@@ -1065,19 +1760,27 @@
},
{
"kind": "Var",
- "name": "auth",
- "printedName": "auth",
+ "name": "lineItemsChange",
+ "printedName": "lineItemsChange",
"children": [
{
"kind": "TypeNominal",
- "name": "RequestDescriptor",
- "printedName": "ShopifyCheckoutProtocol.RequestDescriptor",
- "usr": "s:23ShopifyCheckoutProtocol17RequestDescriptorV"
+ "name": "NotificationDescriptor",
+ "printedName": "ShopifyCheckoutProtocol.NotificationDescriptor",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Checkout",
+ "printedName": "ShopifyCheckoutProtocol.Checkout",
+ "usr": "s:23ShopifyCheckoutProtocol0B0V"
+ }
+ ],
+ "usr": "s:23ShopifyCheckoutProtocol22NotificationDescriptorV"
}
],
"declKind": "Var",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO4authAA17RequestDescriptorVvpZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO4authAA17RequestDescriptorVvpZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO15lineItemsChangeAA22NotificationDescriptorVyAA0B0VGvpZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO15lineItemsChangeAA22NotificationDescriptorVyAA0B0VGvpZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"declAttributes": [
@@ -1094,14 +1797,22 @@
"children": [
{
"kind": "TypeNominal",
- "name": "RequestDescriptor",
- "printedName": "ShopifyCheckoutProtocol.RequestDescriptor",
- "usr": "s:23ShopifyCheckoutProtocol17RequestDescriptorV"
+ "name": "NotificationDescriptor",
+ "printedName": "ShopifyCheckoutProtocol.NotificationDescriptor",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Checkout",
+ "printedName": "ShopifyCheckoutProtocol.Checkout",
+ "usr": "s:23ShopifyCheckoutProtocol0B0V"
+ }
+ ],
+ "usr": "s:23ShopifyCheckoutProtocol22NotificationDescriptorV"
}
],
"declKind": "Accessor",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO4authAA17RequestDescriptorVvgZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO4authAA17RequestDescriptorVvgZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO15lineItemsChangeAA22NotificationDescriptorVyAA0B0VGvgZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO15lineItemsChangeAA22NotificationDescriptorVyAA0B0VGvgZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"implicit": true,
@@ -1114,27 +1825,27 @@
},
{
"kind": "Var",
- "name": "error",
- "printedName": "error",
+ "name": "buyerChange",
+ "printedName": "buyerChange",
"children": [
{
"kind": "TypeNominal",
"name": "NotificationDescriptor",
- "printedName": "ShopifyCheckoutProtocol.NotificationDescriptor",
+ "printedName": "ShopifyCheckoutProtocol.NotificationDescriptor",
"children": [
{
"kind": "TypeNominal",
- "name": "ErrorResponse",
- "printedName": "ShopifyCheckoutProtocol.ErrorResponse",
- "usr": "s:23ShopifyCheckoutProtocol13ErrorResponseV"
+ "name": "Checkout",
+ "printedName": "ShopifyCheckoutProtocol.Checkout",
+ "usr": "s:23ShopifyCheckoutProtocol0B0V"
}
],
"usr": "s:23ShopifyCheckoutProtocol22NotificationDescriptorV"
}
],
"declKind": "Var",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO5errorAA22NotificationDescriptorVyAA13ErrorResponseVGvpZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO5errorAA22NotificationDescriptorVyAA13ErrorResponseVGvpZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO11buyerChangeAA22NotificationDescriptorVyAA0B0VGvpZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO11buyerChangeAA22NotificationDescriptorVyAA0B0VGvpZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"declAttributes": [
@@ -1152,21 +1863,21 @@
{
"kind": "TypeNominal",
"name": "NotificationDescriptor",
- "printedName": "ShopifyCheckoutProtocol.NotificationDescriptor",
+ "printedName": "ShopifyCheckoutProtocol.NotificationDescriptor",
"children": [
{
"kind": "TypeNominal",
- "name": "ErrorResponse",
- "printedName": "ShopifyCheckoutProtocol.ErrorResponse",
- "usr": "s:23ShopifyCheckoutProtocol13ErrorResponseV"
+ "name": "Checkout",
+ "printedName": "ShopifyCheckoutProtocol.Checkout",
+ "usr": "s:23ShopifyCheckoutProtocol0B0V"
}
],
"usr": "s:23ShopifyCheckoutProtocol22NotificationDescriptorV"
}
],
"declKind": "Accessor",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO5errorAA22NotificationDescriptorVyAA13ErrorResponseVGvgZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO5errorAA22NotificationDescriptorVyAA13ErrorResponseVGvgZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO11buyerChangeAA22NotificationDescriptorVyAA0B0VGvgZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO11buyerChangeAA22NotificationDescriptorVyAA0B0VGvgZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"implicit": true,
@@ -1179,8 +1890,8 @@
},
{
"kind": "Var",
- "name": "start",
- "printedName": "start",
+ "name": "totalsChange",
+ "printedName": "totalsChange",
"children": [
{
"kind": "TypeNominal",
@@ -1198,8 +1909,8 @@
}
],
"declKind": "Var",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO5startAA22NotificationDescriptorVyAA0B0VGvpZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO5startAA22NotificationDescriptorVyAA0B0VGvpZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO12totalsChangeAA22NotificationDescriptorVyAA0B0VGvpZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO12totalsChangeAA22NotificationDescriptorVyAA0B0VGvpZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"declAttributes": [
@@ -1230,8 +1941,8 @@
}
],
"declKind": "Accessor",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO5startAA22NotificationDescriptorVyAA0B0VGvgZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO5startAA22NotificationDescriptorVyAA0B0VGvgZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO12totalsChangeAA22NotificationDescriptorVyAA0B0VGvgZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO12totalsChangeAA22NotificationDescriptorVyAA0B0VGvgZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"implicit": true,
@@ -1244,8 +1955,8 @@
},
{
"kind": "Var",
- "name": "complete",
- "printedName": "complete",
+ "name": "paymentChange",
+ "printedName": "paymentChange",
"children": [
{
"kind": "TypeNominal",
@@ -1263,8 +1974,65 @@
}
],
"declKind": "Var",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO8completeAA22NotificationDescriptorVyAA0B0VGvpZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO8completeAA22NotificationDescriptorVyAA0B0VGvpZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO13paymentChangeAA22NotificationDescriptorVyAA0B0VGvpZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO13paymentChangeAA22NotificationDescriptorVyAA0B0VGvpZ",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NotificationDescriptor",
+ "printedName": "ShopifyCheckoutProtocol.NotificationDescriptor",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Checkout",
+ "printedName": "ShopifyCheckoutProtocol.Checkout",
+ "usr": "s:23ShopifyCheckoutProtocol0B0V"
+ }
+ ],
+ "usr": "s:23ShopifyCheckoutProtocol22NotificationDescriptorV"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO13paymentChangeAA22NotificationDescriptorVyAA0B0VGvgZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO13paymentChangeAA22NotificationDescriptorVyAA0B0VGvgZ",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Transparent"
+ ],
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "paymentInstrumentsChangeRequest",
+ "printedName": "paymentInstrumentsChangeRequest",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "RequestDescriptor",
+ "printedName": "ShopifyCheckoutProtocol.RequestDescriptor",
+ "usr": "s:23ShopifyCheckoutProtocol17RequestDescriptorV"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO31paymentInstrumentsChangeRequestAA0I10DescriptorVvpZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO31paymentInstrumentsChangeRequestAA0I10DescriptorVvpZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"declAttributes": [
@@ -1281,22 +2049,14 @@
"children": [
{
"kind": "TypeNominal",
- "name": "NotificationDescriptor",
- "printedName": "ShopifyCheckoutProtocol.NotificationDescriptor",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "Checkout",
- "printedName": "ShopifyCheckoutProtocol.Checkout",
- "usr": "s:23ShopifyCheckoutProtocol0B0V"
- }
- ],
- "usr": "s:23ShopifyCheckoutProtocol22NotificationDescriptorV"
+ "name": "RequestDescriptor",
+ "printedName": "ShopifyCheckoutProtocol.RequestDescriptor",
+ "usr": "s:23ShopifyCheckoutProtocol17RequestDescriptorV"
}
],
"declKind": "Accessor",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO8completeAA22NotificationDescriptorVyAA0B0VGvgZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO8completeAA22NotificationDescriptorVyAA0B0VGvgZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO31paymentInstrumentsChangeRequestAA0I10DescriptorVvgZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO31paymentInstrumentsChangeRequestAA0I10DescriptorVvgZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"implicit": true,
@@ -1309,27 +2069,19 @@
},
{
"kind": "Var",
- "name": "messagesChange",
- "printedName": "messagesChange",
+ "name": "paymentCredentialRequest",
+ "printedName": "paymentCredentialRequest",
"children": [
{
"kind": "TypeNominal",
- "name": "NotificationDescriptor",
- "printedName": "ShopifyCheckoutProtocol.NotificationDescriptor",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "Checkout",
- "printedName": "ShopifyCheckoutProtocol.Checkout",
- "usr": "s:23ShopifyCheckoutProtocol0B0V"
- }
- ],
- "usr": "s:23ShopifyCheckoutProtocol22NotificationDescriptorV"
+ "name": "RequestDescriptor",
+ "printedName": "ShopifyCheckoutProtocol.RequestDescriptor",
+ "usr": "s:23ShopifyCheckoutProtocol17RequestDescriptorV"
}
],
"declKind": "Var",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO14messagesChangeAA22NotificationDescriptorVyAA0B0VGvpZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO14messagesChangeAA22NotificationDescriptorVyAA0B0VGvpZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO24paymentCredentialRequestAA0H10DescriptorVvpZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO24paymentCredentialRequestAA0H10DescriptorVvpZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"declAttributes": [
@@ -1346,22 +2098,14 @@
"children": [
{
"kind": "TypeNominal",
- "name": "NotificationDescriptor",
- "printedName": "ShopifyCheckoutProtocol.NotificationDescriptor",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "Checkout",
- "printedName": "ShopifyCheckoutProtocol.Checkout",
- "usr": "s:23ShopifyCheckoutProtocol0B0V"
- }
- ],
- "usr": "s:23ShopifyCheckoutProtocol22NotificationDescriptorV"
+ "name": "RequestDescriptor",
+ "printedName": "ShopifyCheckoutProtocol.RequestDescriptor",
+ "usr": "s:23ShopifyCheckoutProtocol17RequestDescriptorV"
}
],
"declKind": "Accessor",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO14messagesChangeAA22NotificationDescriptorVyAA0B0VGvgZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO14messagesChangeAA22NotificationDescriptorVyAA0B0VGvgZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO24paymentCredentialRequestAA0H10DescriptorVvgZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO24paymentCredentialRequestAA0H10DescriptorVvgZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"implicit": true,
@@ -1374,27 +2118,19 @@
},
{
"kind": "Var",
- "name": "lineItemsChange",
- "printedName": "lineItemsChange",
+ "name": "windowOpenRequest",
+ "printedName": "windowOpenRequest",
"children": [
{
"kind": "TypeNominal",
- "name": "NotificationDescriptor",
- "printedName": "ShopifyCheckoutProtocol.NotificationDescriptor",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "Checkout",
- "printedName": "ShopifyCheckoutProtocol.Checkout",
- "usr": "s:23ShopifyCheckoutProtocol0B0V"
- }
- ],
- "usr": "s:23ShopifyCheckoutProtocol22NotificationDescriptorV"
+ "name": "RequestDescriptor",
+ "printedName": "ShopifyCheckoutProtocol.RequestDescriptor",
+ "usr": "s:23ShopifyCheckoutProtocol17RequestDescriptorV"
}
],
"declKind": "Var",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO15lineItemsChangeAA22NotificationDescriptorVyAA0B0VGvpZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO15lineItemsChangeAA22NotificationDescriptorVyAA0B0VGvpZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO17windowOpenRequestAA0H10DescriptorVvpZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO17windowOpenRequestAA0H10DescriptorVvpZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"declAttributes": [
@@ -1411,22 +2147,14 @@
"children": [
{
"kind": "TypeNominal",
- "name": "NotificationDescriptor",
- "printedName": "ShopifyCheckoutProtocol.NotificationDescriptor",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "Checkout",
- "printedName": "ShopifyCheckoutProtocol.Checkout",
- "usr": "s:23ShopifyCheckoutProtocol0B0V"
- }
- ],
- "usr": "s:23ShopifyCheckoutProtocol22NotificationDescriptorV"
+ "name": "RequestDescriptor",
+ "printedName": "ShopifyCheckoutProtocol.RequestDescriptor",
+ "usr": "s:23ShopifyCheckoutProtocol17RequestDescriptorV"
}
],
"declKind": "Accessor",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO15lineItemsChangeAA22NotificationDescriptorVyAA0B0VGvgZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO15lineItemsChangeAA22NotificationDescriptorVyAA0B0VGvgZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO17windowOpenRequestAA0H10DescriptorVvgZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO17windowOpenRequestAA0H10DescriptorVvgZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"implicit": true,
@@ -1439,8 +2167,8 @@
},
{
"kind": "Var",
- "name": "buyerChange",
- "printedName": "buyerChange",
+ "name": "fulfillmentChange",
+ "printedName": "fulfillmentChange",
"children": [
{
"kind": "TypeNominal",
@@ -1458,8 +2186,8 @@
}
],
"declKind": "Var",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO11buyerChangeAA22NotificationDescriptorVyAA0B0VGvpZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO11buyerChangeAA22NotificationDescriptorVyAA0B0VGvpZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO17fulfillmentChangeAA22NotificationDescriptorVyAA0B0VGvpZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO17fulfillmentChangeAA22NotificationDescriptorVyAA0B0VGvpZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"declAttributes": [
@@ -1490,8 +2218,8 @@
}
],
"declKind": "Accessor",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO11buyerChangeAA22NotificationDescriptorVyAA0B0VGvgZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO11buyerChangeAA22NotificationDescriptorVyAA0B0VGvgZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO17fulfillmentChangeAA22NotificationDescriptorVyAA0B0VGvgZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO17fulfillmentChangeAA22NotificationDescriptorVyAA0B0VGvgZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"implicit": true,
@@ -1504,27 +2232,19 @@
},
{
"kind": "Var",
- "name": "totalsChange",
- "printedName": "totalsChange",
+ "name": "fulfillmentAddressChangeRequest",
+ "printedName": "fulfillmentAddressChangeRequest",
"children": [
{
"kind": "TypeNominal",
- "name": "NotificationDescriptor",
- "printedName": "ShopifyCheckoutProtocol.NotificationDescriptor",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "Checkout",
- "printedName": "ShopifyCheckoutProtocol.Checkout",
- "usr": "s:23ShopifyCheckoutProtocol0B0V"
- }
- ],
- "usr": "s:23ShopifyCheckoutProtocol22NotificationDescriptorV"
+ "name": "RequestDescriptor",
+ "printedName": "ShopifyCheckoutProtocol.RequestDescriptor",
+ "usr": "s:23ShopifyCheckoutProtocol17RequestDescriptorV"
}
],
"declKind": "Var",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO12totalsChangeAA22NotificationDescriptorVyAA0B0VGvpZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO12totalsChangeAA22NotificationDescriptorVyAA0B0VGvpZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO31fulfillmentAddressChangeRequestAA0I10DescriptorVvpZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO31fulfillmentAddressChangeRequestAA0I10DescriptorVvpZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"declAttributes": [
@@ -1541,22 +2261,14 @@
"children": [
{
"kind": "TypeNominal",
- "name": "NotificationDescriptor",
- "printedName": "ShopifyCheckoutProtocol.NotificationDescriptor",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "Checkout",
- "printedName": "ShopifyCheckoutProtocol.Checkout",
- "usr": "s:23ShopifyCheckoutProtocol0B0V"
- }
- ],
- "usr": "s:23ShopifyCheckoutProtocol22NotificationDescriptorV"
+ "name": "RequestDescriptor",
+ "printedName": "ShopifyCheckoutProtocol.RequestDescriptor",
+ "usr": "s:23ShopifyCheckoutProtocol17RequestDescriptorV"
}
],
"declKind": "Accessor",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO12totalsChangeAA22NotificationDescriptorVyAA0B0VGvgZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO12totalsChangeAA22NotificationDescriptorVyAA0B0VGvgZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO31fulfillmentAddressChangeRequestAA0I10DescriptorVvgZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO31fulfillmentAddressChangeRequestAA0I10DescriptorVvgZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"implicit": true,
@@ -1569,27 +2281,27 @@
},
{
"kind": "Var",
- "name": "paymentChange",
- "printedName": "paymentChange",
+ "name": "all",
+ "printedName": "all",
"children": [
{
"kind": "TypeNominal",
- "name": "NotificationDescriptor",
- "printedName": "ShopifyCheckoutProtocol.NotificationDescriptor",
+ "name": "Array",
+ "printedName": "[Swift.String]",
"children": [
{
"kind": "TypeNominal",
- "name": "Checkout",
- "printedName": "ShopifyCheckoutProtocol.Checkout",
- "usr": "s:23ShopifyCheckoutProtocol0B0V"
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
}
],
- "usr": "s:23ShopifyCheckoutProtocol22NotificationDescriptorV"
+ "usr": "s:Sa"
}
],
"declKind": "Var",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO13paymentChangeAA22NotificationDescriptorVyAA0B0VGvpZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO13paymentChangeAA22NotificationDescriptorVyAA0B0VGvpZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO3allSaySSGvpZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO3allSaySSGvpZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"declAttributes": [
@@ -1606,22 +2318,22 @@
"children": [
{
"kind": "TypeNominal",
- "name": "NotificationDescriptor",
- "printedName": "ShopifyCheckoutProtocol.NotificationDescriptor",
+ "name": "Array",
+ "printedName": "[Swift.String]",
"children": [
{
"kind": "TypeNominal",
- "name": "Checkout",
- "printedName": "ShopifyCheckoutProtocol.Checkout",
- "usr": "s:23ShopifyCheckoutProtocol0B0V"
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
}
],
- "usr": "s:23ShopifyCheckoutProtocol22NotificationDescriptorV"
+ "usr": "s:Sa"
}
],
"declKind": "Accessor",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO13paymentChangeAA22NotificationDescriptorVyAA0B0VGvgZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO13paymentChangeAA22NotificationDescriptorVyAA0B0VGvgZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO3allSaySSGvgZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO3allSaySSGvgZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"implicit": true,
@@ -1631,26 +2343,53 @@
"accessorKind": "get"
}
]
+ }
+ ],
+ "declKind": "Enum",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "isFromExtension": true,
+ "isEnumExhaustive": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Copyable",
+ "printedName": "Copyable",
+ "usr": "s:s8CopyableP",
+ "mangledName": "$ss8CopyableP"
},
+ {
+ "kind": "Conformance",
+ "name": "Escapable",
+ "printedName": "Escapable",
+ "usr": "s:s9EscapableP",
+ "mangledName": "$ss9EscapableP"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "Delegation",
+ "printedName": "Delegation",
+ "children": [
{
"kind": "Var",
- "name": "paymentInstrumentsChangeRequest",
- "printedName": "paymentInstrumentsChangeRequest",
+ "name": "rawValue",
+ "printedName": "rawValue",
"children": [
{
"kind": "TypeNominal",
- "name": "RequestDescriptor",
- "printedName": "ShopifyCheckoutProtocol.RequestDescriptor",
- "usr": "s:23ShopifyCheckoutProtocol17RequestDescriptorV"
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
}
],
"declKind": "Var",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO31paymentInstrumentsChangeRequestAA0I10DescriptorVvpZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO31paymentInstrumentsChangeRequestAA0I10DescriptorVvpZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV8rawValueSSvp",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV8rawValueSSvp",
"moduleName": "ShopifyCheckoutProtocol",
- "static": true,
"declAttributes": [
- "HasInitialValue",
"HasStorage"
],
"isLet": true,
@@ -1663,39 +2402,86 @@
"children": [
{
"kind": "TypeNominal",
- "name": "RequestDescriptor",
- "printedName": "ShopifyCheckoutProtocol.RequestDescriptor",
- "usr": "s:23ShopifyCheckoutProtocol17RequestDescriptorV"
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
}
],
"declKind": "Accessor",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO31paymentInstrumentsChangeRequestAA0I10DescriptorVvgZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO31paymentInstrumentsChangeRequestAA0I10DescriptorVvgZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV8rawValueSSvg",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV8rawValueSSvg",
"moduleName": "ShopifyCheckoutProtocol",
- "static": true,
"implicit": true,
"declAttributes": [
"Transparent"
],
"accessorKind": "get"
}
- ]
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(rawValue:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Delegation",
+ "printedName": "ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Delegation",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV8rawValueAESS_tcfc",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV8rawValueAESS_tcfc",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(stringLiteral:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Delegation",
+ "printedName": "ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Delegation",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV13stringLiteralAESS_tcfc",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV13stringLiteralAESS_tcfc",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "init_kind": "Designated"
},
{
"kind": "Var",
- "name": "paymentCredentialRequest",
- "printedName": "paymentCredentialRequest",
+ "name": "paymentInstrumentsChange",
+ "printedName": "paymentInstrumentsChange",
"children": [
{
"kind": "TypeNominal",
- "name": "RequestDescriptor",
- "printedName": "ShopifyCheckoutProtocol.RequestDescriptor",
- "usr": "s:23ShopifyCheckoutProtocol17RequestDescriptorV"
+ "name": "Delegation",
+ "printedName": "ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Delegation",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV"
}
],
"declKind": "Var",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO24paymentCredentialRequestAA0H10DescriptorVvpZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO24paymentCredentialRequestAA0H10DescriptorVvpZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV24paymentInstrumentsChangeAEvpZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV24paymentInstrumentsChangeAEvpZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"declAttributes": [
@@ -1712,14 +2498,14 @@
"children": [
{
"kind": "TypeNominal",
- "name": "RequestDescriptor",
- "printedName": "ShopifyCheckoutProtocol.RequestDescriptor",
- "usr": "s:23ShopifyCheckoutProtocol17RequestDescriptorV"
+ "name": "Delegation",
+ "printedName": "ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Delegation",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV"
}
],
"declKind": "Accessor",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO24paymentCredentialRequestAA0H10DescriptorVvgZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO24paymentCredentialRequestAA0H10DescriptorVvgZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV24paymentInstrumentsChangeAEvgZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV24paymentInstrumentsChangeAEvgZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"implicit": true,
@@ -1732,19 +2518,19 @@
},
{
"kind": "Var",
- "name": "windowOpenRequest",
- "printedName": "windowOpenRequest",
+ "name": "paymentCredential",
+ "printedName": "paymentCredential",
"children": [
{
"kind": "TypeNominal",
- "name": "RequestDescriptor",
- "printedName": "ShopifyCheckoutProtocol.RequestDescriptor",
- "usr": "s:23ShopifyCheckoutProtocol17RequestDescriptorV"
+ "name": "Delegation",
+ "printedName": "ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Delegation",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV"
}
],
"declKind": "Var",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO17windowOpenRequestAA0H10DescriptorVvpZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO17windowOpenRequestAA0H10DescriptorVvpZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV17paymentCredentialAEvpZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV17paymentCredentialAEvpZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"declAttributes": [
@@ -1761,14 +2547,14 @@
"children": [
{
"kind": "TypeNominal",
- "name": "RequestDescriptor",
- "printedName": "ShopifyCheckoutProtocol.RequestDescriptor",
- "usr": "s:23ShopifyCheckoutProtocol17RequestDescriptorV"
+ "name": "Delegation",
+ "printedName": "ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Delegation",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV"
}
],
"declKind": "Accessor",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO17windowOpenRequestAA0H10DescriptorVvgZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO17windowOpenRequestAA0H10DescriptorVvgZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV17paymentCredentialAEvgZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV17paymentCredentialAEvgZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"implicit": true,
@@ -1781,27 +2567,19 @@
},
{
"kind": "Var",
- "name": "fulfillmentChange",
- "printedName": "fulfillmentChange",
+ "name": "fulfillmentAddressChange",
+ "printedName": "fulfillmentAddressChange",
"children": [
{
"kind": "TypeNominal",
- "name": "NotificationDescriptor",
- "printedName": "ShopifyCheckoutProtocol.NotificationDescriptor",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "Checkout",
- "printedName": "ShopifyCheckoutProtocol.Checkout",
- "usr": "s:23ShopifyCheckoutProtocol0B0V"
- }
- ],
- "usr": "s:23ShopifyCheckoutProtocol22NotificationDescriptorV"
+ "name": "Delegation",
+ "printedName": "ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Delegation",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV"
}
],
"declKind": "Var",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO17fulfillmentChangeAA22NotificationDescriptorVyAA0B0VGvpZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO17fulfillmentChangeAA22NotificationDescriptorVyAA0B0VGvpZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV24fulfillmentAddressChangeAEvpZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV24fulfillmentAddressChangeAEvpZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"declAttributes": [
@@ -1818,22 +2596,14 @@
"children": [
{
"kind": "TypeNominal",
- "name": "NotificationDescriptor",
- "printedName": "ShopifyCheckoutProtocol.NotificationDescriptor",
- "children": [
- {
- "kind": "TypeNominal",
- "name": "Checkout",
- "printedName": "ShopifyCheckoutProtocol.Checkout",
- "usr": "s:23ShopifyCheckoutProtocol0B0V"
- }
- ],
- "usr": "s:23ShopifyCheckoutProtocol22NotificationDescriptorV"
+ "name": "Delegation",
+ "printedName": "ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Delegation",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV"
}
],
"declKind": "Accessor",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO17fulfillmentChangeAA22NotificationDescriptorVyAA0B0VGvgZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO17fulfillmentChangeAA22NotificationDescriptorVyAA0B0VGvgZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV24fulfillmentAddressChangeAEvgZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV24fulfillmentAddressChangeAEvgZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"implicit": true,
@@ -1846,19 +2616,19 @@
},
{
"kind": "Var",
- "name": "fulfillmentAddressChangeRequest",
- "printedName": "fulfillmentAddressChangeRequest",
+ "name": "windowOpen",
+ "printedName": "windowOpen",
"children": [
{
"kind": "TypeNominal",
- "name": "RequestDescriptor",
- "printedName": "ShopifyCheckoutProtocol.RequestDescriptor",
- "usr": "s:23ShopifyCheckoutProtocol17RequestDescriptorV"
+ "name": "Delegation",
+ "printedName": "ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Delegation",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV"
}
],
"declKind": "Var",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO31fulfillmentAddressChangeRequestAA0I10DescriptorVvpZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO31fulfillmentAddressChangeRequestAA0I10DescriptorVvpZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV10windowOpenAEvpZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV10windowOpenAEvpZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"declAttributes": [
@@ -1875,14 +2645,14 @@
"children": [
{
"kind": "TypeNominal",
- "name": "RequestDescriptor",
- "printedName": "ShopifyCheckoutProtocol.RequestDescriptor",
- "usr": "s:23ShopifyCheckoutProtocol17RequestDescriptorV"
+ "name": "Delegation",
+ "printedName": "ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Delegation",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV"
}
],
"declKind": "Accessor",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO31fulfillmentAddressChangeRequestAA0I10DescriptorVvgZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO31fulfillmentAddressChangeRequestAA0I10DescriptorVvgZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV10windowOpenAEvgZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV10windowOpenAEvgZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"implicit": true,
@@ -1901,21 +2671,21 @@
{
"kind": "TypeNominal",
"name": "Array",
- "printedName": "[Swift.String]",
+ "printedName": "[ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Delegation]",
"children": [
{
"kind": "TypeNominal",
- "name": "String",
- "printedName": "Swift.String",
- "usr": "s:SS"
+ "name": "Delegation",
+ "printedName": "ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Delegation",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV"
}
],
"usr": "s:Sa"
}
],
"declKind": "Var",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO3allSaySSGvpZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO3allSaySSGvpZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV3allSayAEGvpZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV3allSayAEGvpZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"declAttributes": [
@@ -1933,21 +2703,21 @@
{
"kind": "TypeNominal",
"name": "Array",
- "printedName": "[Swift.String]",
+ "printedName": "[ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Delegation]",
"children": [
{
"kind": "TypeNominal",
- "name": "String",
- "printedName": "Swift.String",
- "usr": "s:SS"
+ "name": "Delegation",
+ "printedName": "ShopifyCheckoutProtocol.EmbeddedCheckoutProtocol.Delegation",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV"
}
],
"usr": "s:Sa"
}
],
"declKind": "Accessor",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO3allSaySSGvgZ",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO3allSaySSGvgZ",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV3allSayAEGvgZ",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV3allSayAEGvgZ",
"moduleName": "ShopifyCheckoutProtocol",
"static": true,
"implicit": true,
@@ -1957,15 +2727,202 @@
"accessorKind": "get"
}
]
+ },
+ {
+ "kind": "TypeAlias",
+ "name": "ExtendedGraphemeClusterLiteralType",
+ "printedName": "ExtendedGraphemeClusterLiteralType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "TypeAlias",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV34ExtendedGraphemeClusterLiteralTypea",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV34ExtendedGraphemeClusterLiteralTypea",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "implicit": true
+ },
+ {
+ "kind": "TypeAlias",
+ "name": "RawValue",
+ "printedName": "RawValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "TypeAlias",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV8RawValuea",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV8RawValuea",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "implicit": true
+ },
+ {
+ "kind": "TypeAlias",
+ "name": "StringLiteralType",
+ "printedName": "StringLiteralType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "TypeAlias",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV17StringLiteralTypea",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV17StringLiteralTypea",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "implicit": true
+ },
+ {
+ "kind": "TypeAlias",
+ "name": "UnicodeScalarLiteralType",
+ "printedName": "UnicodeScalarLiteralType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "TypeAlias",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV24UnicodeScalarLiteralTypea",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV24UnicodeScalarLiteralTypea",
+ "moduleName": "ShopifyCheckoutProtocol",
+ "implicit": true
}
],
- "declKind": "Enum",
- "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO",
- "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O5EventO",
+ "declKind": "Struct",
+ "usr": "s:23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV",
+ "mangledName": "$s23ShopifyCheckoutProtocol08EmbeddedbC0O10DelegationV",
"moduleName": "ShopifyCheckoutProtocol",
"isFromExtension": true,
- "isEnumExhaustive": true,
"conformances": [
+ {
+ "kind": "Conformance",
+ "name": "RawRepresentable",
+ "printedName": "RawRepresentable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "RawValue",
+ "printedName": "RawValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ]
+ }
+ ],
+ "usr": "s:SY",
+ "mangledName": "$sSY"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Sendable",
+ "printedName": "Sendable",
+ "usr": "s:s8SendableP",
+ "mangledName": "$ss8SendableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "ExpressibleByStringLiteral",
+ "printedName": "ExpressibleByStringLiteral",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "StringLiteralType",
+ "printedName": "StringLiteralType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s26ExpressibleByStringLiteralP",
+ "mangledName": "$ss26ExpressibleByStringLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "SendableMetatype",
+ "printedName": "SendableMetatype",
+ "usr": "s:s16SendableMetatypeP",
+ "mangledName": "$ss16SendableMetatypeP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "ExpressibleByExtendedGraphemeClusterLiteral",
+ "printedName": "ExpressibleByExtendedGraphemeClusterLiteral",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "ExtendedGraphemeClusterLiteralType",
+ "printedName": "ExtendedGraphemeClusterLiteralType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s43ExpressibleByExtendedGraphemeClusterLiteralP",
+ "mangledName": "$ss43ExpressibleByExtendedGraphemeClusterLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "ExpressibleByUnicodeScalarLiteral",
+ "printedName": "ExpressibleByUnicodeScalarLiteral",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "UnicodeScalarLiteralType",
+ "printedName": "UnicodeScalarLiteralType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s33ExpressibleByUnicodeScalarLiteralP",
+ "mangledName": "$ss33ExpressibleByUnicodeScalarLiteralP"
+ },
{
"kind": "Conformance",
"name": "Copyable",
diff --git a/protocol/languages/swift/Sources/ShopifyCheckoutProtocol/EmbeddedCheckoutProtocol.swift b/protocol/languages/swift/Sources/ShopifyCheckoutProtocol/EmbeddedCheckoutProtocol.swift
index 8104a9d9..32373190 100644
--- a/protocol/languages/swift/Sources/ShopifyCheckoutProtocol/EmbeddedCheckoutProtocol.swift
+++ b/protocol/languages/swift/Sources/ShopifyCheckoutProtocol/EmbeddedCheckoutProtocol.swift
@@ -7,22 +7,51 @@ public enum EmbeddedCheckoutProtocol {
package static let parseErrorCode = -32700
package static let parseErrorMessage = "Parse error"
+ /// Options controlling the query parameters appended to a checkout URL when
+ /// initiating the Embedded Checkout Protocol handshake.
+ public struct Options: Sendable {
+ public var delegations: [Delegation]
+ public var colorScheme: String?
+ public var auth: String?
+
+ public init(
+ delegations: [Delegation] = [],
+ colorScheme: String? = nil,
+ auth: String? = nil
+ ) {
+ self.delegations = delegations
+ self.colorScheme = colorScheme
+ self.auth = auth
+ }
+ }
+
/// Returns the given checkout URL with the query parameters required to
/// initiate the Embedded Checkout Protocol handshake (`ec_version`,
- /// `ec_delegate`).
- public static func url(
- for url: URL,
- delegations: [String] = []
- ) -> URL {
+ /// `ec_delegate`, `ec_auth`, `ec_color_scheme`).
+ public static func url(for url: URL, options: Options = .init()) -> URL {
guard var components = URLComponents(url: url, resolvingAgainstBaseURL: false) else {
return url
}
var queryItems = components.queryItems ?? []
- queryItems.removeAll { $0.name == "ec_version" || $0.name == "ec_delegate" }
+ queryItems.removeAll {
+ $0.name == "ec_version"
+ || $0.name == "ec_delegate"
+ || $0.name == "ec_auth"
+ || $0.name == "ec_color_scheme"
+ }
queryItems.append(URLQueryItem(name: "ec_version", value: specVersion))
- if !delegations.isEmpty {
- queryItems.append(URLQueryItem(name: "ec_delegate", value: delegations.joined(separator: ",")))
+
+ if !options.delegations.isEmpty {
+ queryItems.append(URLQueryItem(name: "ec_delegate", value: options.delegations.map(\.rawValue).joined(separator: ",")))
+ }
+
+ if let auth = options.auth {
+ queryItems.append(URLQueryItem(name: "ec_auth", value: auth))
+ }
+
+ if let colorScheme = options.colorScheme {
+ queryItems.append(URLQueryItem(name: "ec_color_scheme", value: colorScheme))
}
components.queryItems = queryItems
diff --git a/protocol/languages/swift/Sources/ShopifyCheckoutProtocol/Generated/EmbeddedCheckoutProtocol+Event.swift b/protocol/languages/swift/Sources/ShopifyCheckoutProtocol/Generated/EmbeddedCheckoutProtocol+Event.swift
index 08bf426e..87c3158e 100644
--- a/protocol/languages/swift/Sources/ShopifyCheckoutProtocol/Generated/EmbeddedCheckoutProtocol+Event.swift
+++ b/protocol/languages/swift/Sources/ShopifyCheckoutProtocol/Generated/EmbeddedCheckoutProtocol+Event.swift
@@ -43,3 +43,32 @@ extension EmbeddedCheckoutProtocol {
]
}
}
+
+extension EmbeddedCheckoutProtocol {
+ /// Delegations the host can request from the business, as declared by the
+ /// service in `x-delegations`. String-backed and open: a host may advertise
+ /// a delegation this build predates, so unknown values round-trip intact.
+ public struct Delegation: RawRepresentable, Hashable, Sendable, ExpressibleByStringLiteral {
+ public let rawValue: String
+
+ public init(rawValue: String) {
+ self.rawValue = rawValue
+ }
+
+ public init(stringLiteral value: String) {
+ self.rawValue = value
+ }
+
+ public static let paymentInstrumentsChange = Delegation(rawValue: "payment.instruments_change")
+ public static let paymentCredential = Delegation(rawValue: "payment.credential")
+ public static let fulfillmentAddressChange = Delegation(rawValue: "fulfillment.address_change")
+ public static let windowOpen = Delegation(rawValue: "window.open")
+
+ public static let all: [Delegation] = [
+ .paymentInstrumentsChange,
+ .paymentCredential,
+ .fulfillmentAddressChange,
+ .windowOpen,
+ ]
+ }
+}
diff --git a/protocol/languages/swift/Tests/ShopifyCheckoutProtocolTests/EmbeddedCheckoutProtocolURLTests.swift b/protocol/languages/swift/Tests/ShopifyCheckoutProtocolTests/EmbeddedCheckoutProtocolURLTests.swift
index c0cb9976..73babcfd 100644
--- a/protocol/languages/swift/Tests/ShopifyCheckoutProtocolTests/EmbeddedCheckoutProtocolURLTests.swift
+++ b/protocol/languages/swift/Tests/ShopifyCheckoutProtocolTests/EmbeddedCheckoutProtocolURLTests.swift
@@ -21,21 +21,21 @@ struct CheckoutProtocolURLTests {
}
@Test func appendsSuppliedDelegate() {
- let items = queryItems(EmbeddedCheckoutProtocol.url(for: baseURL, delegations: ["window.open"]))
+ let items = queryItems(EmbeddedCheckoutProtocol.url(for: baseURL, options: .init(delegations: ["window.open"])))
#expect(items.contains(URLQueryItem(name: "ec_delegate", value: "window.open")))
}
@Test func joinsMultipleDelegationsWithComma() {
let result = EmbeddedCheckoutProtocol.url(
for: baseURL,
- delegations: ["window.open", "payment.credential"]
+ options: .init(delegations: ["window.open", "payment.credential"])
)
let items = queryItems(result)
#expect(items.contains(URLQueryItem(name: "ec_delegate", value: "window.open,payment.credential")))
}
@Test func omitsDelegateWhenEmpty() {
- let items = queryItems(EmbeddedCheckoutProtocol.url(for: baseURL, delegations: []))
+ let items = queryItems(EmbeddedCheckoutProtocol.url(for: baseURL, options: .init(delegations: [])))
#expect(!items.contains(where: { $0.name == "ec_delegate" }))
}
@@ -49,15 +49,15 @@ struct CheckoutProtocolURLTests {
@Test func replacesCallerSuppliedProtocolQueryItems() throws {
let url = try #require(URL(string: "https://shop.com/cart/c/abc?ec_version=stale&ec_delegate=custom"))
- let items = queryItems(EmbeddedCheckoutProtocol.url(for: url, delegations: ["window.open"]))
+ let items = queryItems(EmbeddedCheckoutProtocol.url(for: url, options: .init(delegations: ["window.open"])))
#expect(items.filter { $0.name == "ec_version" }.map(\.value) == [EmbeddedCheckoutProtocol.specVersion])
#expect(items.filter { $0.name == "ec_delegate" }.map(\.value) == ["window.open"])
}
@Test func isIdempotentOnRecall() {
- let once = EmbeddedCheckoutProtocol.url(for: baseURL, delegations: ["window.open"])
- let twice = EmbeddedCheckoutProtocol.url(for: once, delegations: ["window.open"])
+ let once = EmbeddedCheckoutProtocol.url(for: baseURL, options: .init(delegations: ["window.open"]))
+ let twice = EmbeddedCheckoutProtocol.url(for: once, options: .init(delegations: ["window.open"]))
let items = queryItems(twice)
#expect(items.filter { $0.name == "ec_version" }.count == 1)
@@ -66,9 +66,46 @@ struct CheckoutProtocolURLTests {
@Test func removesExistingDelegationWhenDelegationsAreEmpty() throws {
let url = try #require(URL(string: "https://shop.com/cart/c/abc?ec_delegate=custom"))
- let items = queryItems(EmbeddedCheckoutProtocol.url(for: url, delegations: []))
+ let items = queryItems(EmbeddedCheckoutProtocol.url(for: url, options: .init(delegations: [])))
#expect(items.contains(URLQueryItem(name: "ec_version", value: EmbeddedCheckoutProtocol.specVersion)))
#expect(!items.contains { $0.name == "ec_delegate" })
}
+
+ @Test func omitsAuthByDefault() {
+ let items = queryItems(EmbeddedCheckoutProtocol.url(for: baseURL))
+ #expect(!items.contains(where: { $0.name == "ec_auth" }))
+ }
+
+ @Test func appendsSuppliedAuth() {
+ let items = queryItems(EmbeddedCheckoutProtocol.url(for: baseURL, options: .init(auth: "token")))
+ #expect(items.contains(URLQueryItem(name: "ec_auth", value: "token")))
+ }
+
+ @Test func omitsColorSchemeByDefault() {
+ let items = queryItems(EmbeddedCheckoutProtocol.url(for: baseURL))
+ #expect(!items.contains(where: { $0.name == "ec_color_scheme" }))
+ }
+
+ @Test func appendsSuppliedColorScheme() {
+ let items = queryItems(EmbeddedCheckoutProtocol.url(for: baseURL, options: .init(colorScheme: "dark")))
+ #expect(items.contains(URLQueryItem(name: "ec_color_scheme", value: "dark")))
+ }
+
+ @Test func replacesCallerSuppliedAuthAndColorScheme() throws {
+ let url = try #require(URL(string: "https://shop.com/cart/c/abc?ec_auth=stale&ec_color_scheme=light"))
+ let items = queryItems(EmbeddedCheckoutProtocol.url(for: url, options: .init(colorScheme: "dark", auth: "token")))
+
+ #expect(items.filter { $0.name == "ec_auth" }.map(\.value) == ["token"])
+ #expect(items.filter { $0.name == "ec_color_scheme" }.map(\.value) == ["dark"])
+ }
+
+ @Test func isIdempotentForAuthAndColorSchemeOnRecall() {
+ let once = EmbeddedCheckoutProtocol.url(for: baseURL, options: .init(colorScheme: "dark", auth: "token"))
+ let twice = EmbeddedCheckoutProtocol.url(for: once, options: .init(colorScheme: "dark", auth: "token"))
+ let items = queryItems(twice)
+
+ #expect(items.filter { $0.name == "ec_auth" }.count == 1)
+ #expect(items.filter { $0.name == "ec_color_scheme" }.count == 1)
+ }
}
diff --git a/protocol/scripts/generate_swift_catalog.mjs b/protocol/scripts/generate_swift_catalog.mjs
index 45566c88..3f3ccf6a 100644
--- a/protocol/scripts/generate_swift_catalog.mjs
+++ b/protocol/scripts/generate_swift_catalog.mjs
@@ -43,6 +43,16 @@ function methodNameToIdentifier(methodName) {
.join('');
}
+function delegationToIdentifier(delegation) {
+ return delegation
+ .split(/[._]/g)
+ .filter(Boolean)
+ .map((part, index) =>
+ index === 0 ? part : part.charAt(0).toUpperCase() + part.slice(1),
+ )
+ .join('');
+}
+
function resolveMethod(method, openRpcDir) {
if (typeof method.$ref !== 'string') {
return method;
@@ -113,6 +123,19 @@ for (const entry of entries) {
seen.add(entry.identifier);
}
+const delegations = (openRpc['x-delegations'] ?? []).map(delegation => ({
+ identifier: delegationToIdentifier(delegation),
+ value: delegation,
+}));
+
+const seenDelegations = new Set();
+for (const delegation of delegations) {
+ if (seenDelegations.has(delegation.identifier)) {
+ throw new Error(`Duplicate delegation identifier: ${delegation.identifier}`);
+ }
+ seenDelegations.add(delegation.identifier);
+}
+
const payloadTypes = Array.from(
new Set(entries.filter(entry => !entry.isRequest).map(entry => entry.payload)),
).sort();
@@ -143,6 +166,34 @@ ${entries.map(entry => ` ${entry.identifier}.method,`).join('\n')}
]
}
}
+
+extension EmbeddedCheckoutProtocol {
+ /// Delegations the host can request from the business, as declared by the
+ /// service in \`x-delegations\`. String-backed and open: a host may advertise
+ /// a delegation this build predates, so unknown values round-trip intact.
+ public struct Delegation: RawRepresentable, Hashable, Sendable, ExpressibleByStringLiteral {
+ public let rawValue: String
+
+ public init(rawValue: String) {
+ self.rawValue = rawValue
+ }
+
+ public init(stringLiteral value: String) {
+ self.rawValue = value
+ }
+
+${delegations
+ .map(
+ delegation =>
+ ` public static let ${delegation.identifier} = Delegation(rawValue: "${delegation.value}")`,
+ )
+ .join('\n')}
+
+ public static let all: [Delegation] = [
+${delegations.map(delegation => ` .${delegation.identifier},`).join('\n')}
+ ]
+ }
+}
`;
fs.mkdirSync(path.dirname(outputPath), {recursive: true});