Skip to content

Commit e9d9081

Browse files
committed
Rename package to ObservableWebSocketClient
1 parent 4e2769d commit e9d9081

File tree

16 files changed

+54
-46
lines changed

16 files changed

+54
-46
lines changed

.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Package.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,22 @@
33
import PackageDescription
44

55
let package = Package(
6-
name: "SwiftTraderWebSocket",
6+
name: "ObservableWebSocketClient",
77
platforms: [
88
.iOS(.v17),
99
.macOS(.v14)
1010
],
1111
products: [
1212
.library(
13-
name: "SwiftTraderWebSocket",
14-
targets: ["SwiftTraderWebSocket"]
13+
name: "ObservableWebSocketClient",
14+
targets: ["ObservableWebSocketClient"]
1515
)
1616
],
1717
targets: [
18-
.target(name: "SwiftTraderWebSocket"),
18+
.target(name: "ObservableWebSocketClient"),
1919
.testTarget(
20-
name: "SwiftTraderWebSocketTests",
21-
dependencies: ["SwiftTraderWebSocket"]
20+
name: "ObservableWebSocketClientTests",
21+
dependencies: ["ObservableWebSocketClient"]
2222
)
2323
]
2424
)

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
[![swift-version](https://img.shields.io/badge/swift-5.9-ea7a50.svg?logo=swift)](https://github.com/apple/swift)
22
[![swift-package-manager](https://img.shields.io/badge/package%20manager-compatible-d5b561.svg?logo=data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjJweCIgaGVpZ2h0PSI0OXB4IiB2aWV3Qm94PSIwIDAgNjIgNDkiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDYzLjEgKDkyNDUyKSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT5Hcm91cDwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJHcm91cCIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgPHBvbHlnb24gaWQ9IlBhdGgiIGZpbGw9IiNEQkI1NTEiIHBvaW50cz0iNTEuMzEwMzQ0OCAwIDEwLjY4OTY1NTIgMCAwIDEzLjUxNzI0MTQgMCA0OSA2MiA0OSA2MiAxMy41MTcyNDE0Ij48L3BvbHlnb24+CiAgICAgICAgICAgIDxwb2x5Z29uIGlkPSJQYXRoIiBmaWxsPSIjRjdFM0FGIiBwb2ludHM9IjI3IDI1IDMxIDI1IDM1IDI1IDM3IDI1IDM3IDE0IDI1IDE0IDI1IDI1Ij48L3BvbHlnb24+CiAgICAgICAgICAgIDxwb2x5Z29uIGlkPSJQYXRoIiBmaWxsPSIjRUZDNzVFIiBwb2ludHM9IjEwLjY4OTY1NTIgMCAwIDE0IDYyIDE0IDUxLjMxMDM0NDggMCI+PC9wb2x5Z29uPgogICAgICAgICAgICA8cG9seWdvbiBpZD0iUmVjdGFuZ2xlIiBmaWxsPSIjRjdFM0FGIiBwb2ludHM9IjI3IDAgMzUgMCAzNyAxNCAyNSAxNCI+PC9wb2x5Z29uPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+)](https://github.com/apple/swift-package-manager)
33
[![platforms](https://img.shields.io/badge/platforms-iOS%20%7C%20macOS-lightgrey.svg?logo=data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDE2cHgiIGhlaWdodD0iNTEycHgiIHZpZXdCb3g9IjAgMCA0MTYgNTEyIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA2My4xICg5MjQ1MikgLSBodHRwczovL3NrZXRjaC5jb20gLS0+CiAgICA8dGl0bGU+R3JvdXA8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iR3JvdXAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMTE3NzEwLCAtMC4wMDAzNzUpIiBmaWxsPSIjRDZENkQ4IiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICA8cGF0aCBkPSJNMjg0LjEyNDI5LDgxLjEyNzM3NDUgQzMwMC40MzIyOSw2MS40MTYzNzQ1IDMxMS44OTMyOSwzNC42NDUzNzQ1IDMxMS4zMTgyOSw3LjM3NzM3NDUxIEMzMTEuMjIxMjksMi43OTgzNzQ1MSAzMDcuMDQ0MjksLTAuNjAxNjI1NDkyIDMwMi41MTYyOSwwLjA4OTM3NDUwODQgQzI3OC41ODkyOSwzLjc0NTM3NDUxIDI1MS44NDIyOSwxOC43MzAzNzQ1IDIzNS4yODYyOSwzOC4xMTMzNzQ1IEMyMjAuMDI3MjksNTUuNzU2Mzc0NSAyMDYuNDg1MjksODMuMTc0Mzc0NSAyMDcuNTAzMjksMTEwLjM0MzM3NSBDMjA3LjY1NjI5LDExNC40MzczNzUgMjExLjExNTI5LDExNy43MDAzNzUgMjE1LjIxMDI5LDExNy41ODQzNzUgQzI0MS42MTkyOSwxMTYuODM3Mzc1IDI2Ny42OTIyOSwxMDEuMDIzMzc1IDI4NC4xMjQyOSw4MS4xMjczNzQ1IiBpZD0iUGF0aCI+PC9wYXRoPgogICAgICAgICAgICA8cGF0aCBkPSJNNDExLjU4NjI5LDM3Mi43MDQzNzUgQzM5NS4wMDcyOSwzNjQuMzU3Mzc1IDM0OS4yNTMyOSwzMzUuNTUyMzc1IDM0OC42ODcyOSwyNzEuNjcwMzc1IEMzNDguMjAzMjksMjE5LjM3NzM3NSAzODIuOTAzMjksMTg4Ljk3MDM3NSAzOTcuNjY0MjksMTc4LjM1MzM3NSBDNDAxLjE2ODI5LDE3NS44MzIzNzUgNDAxLjkzODI5LDE3MC44OTkzNzUgMzk5LjI3NDI5LDE2Ny41MDIzNzUgQzM4Ny4wMDkyOSwxNTEuODY3Mzc1IDM3Mi42NjgyOSwxNDEuODM4Mzc1IDM1OC44OTIyOSwxMzUuMzM3Mzc1IEMzNTguOTAwMjksMTM1LjMzNjM3NSAzNTguOTEwMjksMTM1LjMzNDM3NSAzNTguOTE4MjksMTM1LjMzMzM3NSBDMzU3LjEzNDI5LDEzNC40OTAzNzUgMzU0LjA3OTI5LDEzMy4xNTIzNzUgMzUxLjYzNDI5LDEzMi4xODkzNzUgTDM1MS42MzQyOSwxMzIuMTg5Mzc1IEMyODIuMzE0MjksMTA0LjkwMjM3NSAyMzguNjI4MjksMTQ2LjcyNzM3NSAyMTIuMTY1MjksMTQ2LjcyNzM3NSBDMTkxLjkwNDI5LDE0Ni43MjczNzUgMTYwLjYzOTI5LDEyMy44MzQzNzUgMTI3LjUxMzI5LDEyNC40NTkzNzUgQzgzLjk4NDI4OTgsMTI1LjA5MTM3NSA0My44OTAyODk4LDE0OS43ODEzNzUgMjEuNDQzMjg5OCwxODguNzQxMzc1IEMtMTIuOTk0NzEwMiwyNDguNTE1Mzc1IC0xLjYzNzcxMDI1LDMzMC4yMjczNzUgMjUuMTkzMjg5OCwzOTMuOTA5Mzc1IEMyNS4xOTMyODk4LDM5My45MTAzNzUgMjUuMTkyMjg5OCwzOTMuOTEwMzc1IDI1LjE5MjI4OTgsMzkzLjkxMTM3NSBDMjUuODc5Mjg5OCwzOTUuNTQwMzc1IDI2Ljk3MzI4OTgsMzk4LjA3NTM3NSAyNy44ODUyODk4LDQwMC4xMjIzNzUgQzI3Ljg4NjI4OTgsNDAwLjEyMDM3NSAyNy44ODYyODk4LDQwMC4xMTkzNzUgMjcuODg3Mjg5OCw0MDAuMTE3Mzc1IEMzNS42NjAyODk4LDQxNy41NzMzNzUgNDQuNTU5Mjg5OCw0MzMuNTI1Mzc1IDUzLjkzNDI4OTgsNDQ3LjA4NTM3NSBDNzUuNDYxMjg5OCw0NzguMjAwMzc1IDEwMS4xNDIyOSw1MTMuMjUyMzc1IDEzNC44ODUyOSw1MTEuOTY0Mzc1IEMxNjcuMzYyMjksNTEwLjY3NjM3NSAxNzkuNjQwMjksNDkwLjk2NjM3NSAyMTguODg4MjksNDkwLjk2NjM3NSBDMjU4LjExMTI5LDQ5MC45NjYzNzUgMjY5LjE3NTI5LDUxMS45NjQzNzUgMzAzLjUxNTI5LDUxMS4zMzkzNzUgQzMzOC40NzIyOSw1MTAuNjc2Mzc1IDM2MC42MDgyOSw0NzkuNTg2Mzc1IDM4MS45ODgyOSw0NDguMzIzMzc1IEM0MDAuODA1MjksNDIwLjg1MzM3NSA0MTEuMTg2MjksMzk0LjA0MTM3NSA0MTUuMzQ2MjksMzgxLjk3MDM3NSBDNDE2LjU4NjI5LDM3OC4zNzIzNzUgNDE0Ljk4NzI5LDM3NC40MTYzNzUgNDExLjU4NjI5LDM3Mi43MDQzNzUgWiIgaWQ9IlBhdGgiPjwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==)](https://en.wikipedia.org/wiki/List_of_Apple_operating_systems)
4-
[![build-status](https://github.com/backslash-f/swift-trader-websocket/actions/workflows/swift.yml/badge.svg?branch=main)](https://github.com/backslash-f/swift-trader-websocket/actions)
4+
[![build-status](https://github.com/backslash-f/observable-websocket-client/actions/workflows/swift.yml/badge.svg?branch=main)](https://github.com/backslash-f/observable-websocket-client/actions)
55
[![license](https://img.shields.io/badge/license-MIT-67ac5b.svg?logo=data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDUxMi4wMDkgNTEyLjAwOSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTEyLjAwOSA1MTIuMDA5OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjUxMnB4IiBoZWlnaHQ9IjUxMnB4Ij4KPHBhdGggc3R5bGU9ImZpbGw6IzRDQUY1MDsiIGQ9Ik0yNTUuOTQ0LDE1LjkzQzExNC42MTgsMTUuOTAyLDAuMDI4LDEzMC40NDYsMCwyNzEuNzcyQy0wLjAxOCwzNjQuMDg5LDQ5LjY4OSw0NDkuMjYsMTMwLjA3Nyw0OTQuNjUgIGMyLjQ1NiwxLjQxNSw1LjM4LDEuNzc3LDguMTA3LDEuMDAzYzIuNzA4LTAuNzU2LDUuMDA4LTIuNTUsNi40LTQuOTkybDc4LjkzMy0xMzkuNDk5YzIuODk1LTUuMTI2LDEuMDkxLTExLjYyOC00LjAzMi0xNC41MjggIGMtMzUuOTU0LTIwLjE5NC00OC43My02NS43MTItMjguNTM1LTEwMS42NjZzNjUuNzEyLTQ4LjczLDEwMS42NjYtMjguNTM1czQ4LjczLDY1LjcxMiwyOC41MzUsMTAxLjY2NiAgYy02LjcxMiwxMS45NTEtMTYuNTg1LDIxLjgyMy0yOC41MzUsMjguNTM1Yy01LjEyMywyLjktNi45MjcsOS40MDItNC4wMzIsMTQuNTI4bDc4LjcyLDEzOS40OTljMS4zODgsMi40NSwzLjY4OSw0LjI1Myw2LjQsNS4wMTMgIGMwLjkyOSwwLjI2OSwxLjg5MSwwLjQwNiwyLjg1OSwwLjQwNWMxLjg0LTAuMDAyLDMuNjQ4LTAuNDgsNS4yNDgtMS4zODdjMTIzLjA4Ny02OS40NDQsMTY2LjU3My0yMjUuNTIyLDk3LjEyOS0zNDguNjEgIEM0MzMuNTQ4LDY1LjYyOSwzNDguMzE5LDE1Ljg4NCwyNTUuOTQ0LDE1LjkzeiIvPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8L3N2Zz4K)](https://en.wikipedia.org/wiki/MIT_License)
66

77

8-
# swift-trader-websocket
9-
A Swift package for connecting to crypto exchanges such as Kucoin and Binance via [WebSocket](https://en.wikipedia.org/wiki/WebSocket).
8+
# observable-websocket-client
9+
A Swift package that establishes a [WebSocket connection](https://en.wikipedia.org/wiki/WebSocket) and publishes received messages and errors via [Apple's Observation Framework](https://developer.apple.com/documentation/observation).

Sources/SwiftTraderWebSocket/Interface/WebSocketClient+Codable.swift renamed to Sources/ObservableWebSocketClient/Interface/ObservableWebSocketClient+Codable.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
//
2-
// WebSocketClient+Codable.swift
2+
// ObservableWebSocketClient+Codable.swift
33
//
44
//
55
// Created by Fernando Fernandes on 06.03.24.
@@ -9,7 +9,7 @@ import Foundation
99

1010
/// Required for encoding/decoding an observable object class. Refer to:
1111
/// https://www.hackingwithswift.com/books/ios-swiftui/encoding-an-observableobject-class
12-
extension WebSocketClient: Codable {
12+
extension ObservableWebSocketClient: Codable {
1313
public enum CodingKeys: String, CodingKey {
1414
case websocketURL
1515
case message
@@ -27,7 +27,7 @@ extension WebSocketClient: Codable {
2727
let container = try decoder.container(keyedBy: CodingKeys.self)
2828
let websocketURL = try container.decode(URL.self, forKey: .websocketURL)
2929
let message = try container.decodeIfPresent(CodableWebSocketMessage.self, forKey: .message)
30-
let error = try container.decodeIfPresent(SwiftTraderWebSocketError.self, forKey: .error)
30+
let error = try container.decodeIfPresent(ObservableWebSocketClientError.self, forKey: .error)
3131
self.init(websocketURL: websocketURL, message: message, error: error)
3232
}
3333
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
//
2+
// ObservableWebSocketClient+Equatable.swift
3+
//
4+
//
5+
// Created by Fernando Fernandes on 28.02.24.
6+
//
7+
8+
import Foundation
9+
10+
extension ObservableWebSocketClient: Equatable {
11+
public static func == (lhs: ObservableWebSocketClient,
12+
rhs: ObservableWebSocketClient) -> Bool {
13+
lhs.websocketURL == rhs.websocketURL &&
14+
lhs.message == rhs.message
15+
}
16+
}

Sources/SwiftTraderWebSocket/Interface/WebSocketClient.swift renamed to Sources/ObservableWebSocketClient/Interface/ObservableWebSocketClient.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
//
2-
// WebSocketClient.swift
2+
// ObservableWebSocketClient.swift
33
//
44
//
55
// Created by Fernando Fernandes on 28.02.24.
@@ -9,7 +9,7 @@ import Foundation
99

1010
/// Establishes a WebSocket connection using the given `websocketURL`.
1111
/// Publishes received messages and errors.
12-
@Observable public final class WebSocketClient: Identifiable {
12+
@Observable public final class ObservableWebSocketClient: Identifiable {
1313

1414
/// The WebSocket URL to connect to, starting with `wss`.
1515
///
@@ -20,11 +20,11 @@ import Foundation
2020
public var message: CodableWebSocketMessage?
2121

2222
/// Publishes any error that may occur.
23-
public var error: SwiftTraderWebSocketError?
23+
public var error: ObservableWebSocketClientError?
2424

2525
public init(websocketURL: URL,
2626
message: CodableWebSocketMessage? = nil,
27-
error: SwiftTraderWebSocketError? = nil) {
27+
error: ObservableWebSocketClientError? = nil) {
2828
self.websocketURL = websocketURL
2929
self.message = message
3030
self.error = error
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public extension CodableWebSocketMessage {
2525
let messageData = try container.decode(Data.self, forKey: .messageData)
2626
message = .data(messageData)
2727
default:
28-
throw SwiftTraderWebSocketError.decodingMessage
28+
throw ObservableWebSocketClientError.decodingMessage
2929
}
3030
}
3131

@@ -40,7 +40,7 @@ public extension CodableWebSocketMessage {
4040
try container.encode("data", forKey: .messageType)
4141
try container.encode(messageData, forKey: .messageData)
4242
@unknown default:
43-
throw SwiftTraderWebSocketError.encodingMessage
43+
throw ObservableWebSocketClientError.encodingMessage
4444
}
4545
}
4646
}

0 commit comments

Comments
 (0)