MessagePacker
MessagePack serializer implementation for Swift. msgpack.org[Swift]
Install / Use
/learn @hirotakan/MessagePackerREADME
MessagePacker
MessagePacker is a MessagePack encoder & decoder for Swift and supports Codable.
- Message Pack specification: https://github.com/msgpack/msgpack/blob/master/spec.md
Usage
import MessagePacker
struct Coordinate: Codable {
var latitude: Double
var longitude: Double
}
struct Landmark: Codable {
var name: String
var foundingYear: Int
var location: Coordinate
}
let input = Landmark(
name: "Mojave Desert",
foundingYear: 0,
location: Coordinate(
latitude: 35.0110079,
longitude: -115.4821313
)
)
let data = try! MessagePackEncoder().encode(input)
let landmark = try! MessagePackDecoder().decode(Landmark.self, from: data)
print([UInt8](data))
print(landmark)
// [131, 164, 110, 97, 109, 101, 173, 77, 111, 106,
// 97, 118, 101, 32, 68, 101, 115, 101, 114, 116,
// 172, 102, 111, 117, 110, 100, 105, 110, 103, 89,
// 101, 97, 114, 0, 168, 108, 111, 99, 97, 116,
// 105, 111, 110, 130, 168, 108, 97, 116, 105, 116,
// 117, 100, 101, 203, 64, 65, 129, 104, 180, 245,
// 63, 179, 169, 108, 111, 110, 103, 105, 116, 117,
// 100, 101, 203, 192, 92, 222, 219, 61, 61, 120, 49]
// Landmark(
// name: "Mojave Desert",
// foundingYear: 0,
// location: MessagePackerTests.Coordinate(
// latitude: 35.0110079,
// longitude: -115.4821313
// )
// )
Installation
Carthage
Add the following to your Cartfile:
github "hirotakan/MessagePacker"
CocoaPods
Add the following to your Podfile:
pod 'MessagePacker'
SwiftPM
Add MessagePacker as a dependency:
import PackageDescription
let package = Package(
name: "YourApp",
dependencies: [
.Package(url: "https://github.com/hirotakan/MessagePacker.git", majorVersion: 0),
]
)
Requirements
- Swift 5.0 or later
- iOS 8.0 or later
- macOS 10.10 or later
- tvOS 9.0 or later
- watchOS 2.0 or later
License
MessagePacker is released under the MIT license. See LICENSE for details.
Related Skills
node-connect
341.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.5kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
341.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.5kCommit, push, and open a PR
