Skip to content

twilic/twilic-swift

Repository files navigation

Twilic (Swift)

Swift implementation of the Twilic wire format and session-aware encoder/decoder.

This package's default encode / decode API targets Twilic v2.

What this package provides

  • Dynamic encoding/decoding (encode, decode)
  • V2 wire profile and codec spec vector tests
  • Session/protocol APIs under Sources/Twilic/Core/

Project layout

twilic-swift/
  Sources/Twilic/         # library sources
  Tests/TwilicTests/      # unit tests
  Package.swift
  docs/

Requirements

  • Swift 5.9+
  • macOS 13+ / iOS 15+ (per Package.swift)

Install

Swift Package Manager:

dependencies: [
    .package(url: "https://github.com/twilic/twilic-swift.git", from: "0.1.0"),
]

Quick start

import Twilic

let value = newMap([
    entry("id", newU64(1001)),
    entry("name", newString("alice")),
])

let data = try encode(value)
let decoded = try decode(data)

Development

swift test

CI runs on macos-latest because of Apple platform targets.

Markdown formatting

See docs/CONTRIBUTING.md.

CI (GitHub Actions)

  • .github/workflows/ci.ymlswift test (macOS) and markdown checks (Ubuntu)

Spec parity

Mirrors twilic/twilic and twilic-java.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Swift implementation of a fast, compact binary wire format for modern data transport.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors