mdhiggins / Lemmy-Swift-Client

A Swift client for Lemmy.

Home Page:https://rrainn.github.io/Lemmy-Swift-Client/documentation/lemmy_swift_client/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Lemmy-Swift-Client

A Swift client for Lemmy.

Features

  • Fully Swift type safe
  • async/await compatible
  • Supports all Lemmy API endpoints
  • Uses Codable for easy JSON serialization/deserialization

Installation

We use Swift Package Manager to make it easy to install and use the Lemmy Swift Client in your project.

dependencies: [
	.package(url: "https://github.com/rrainn/Lemmy-Swift-Client.git", .exact("3.0.0"))
]

Please note, that we do not subscribe to SemVer versioning at this time due to the massive amount of Lemmy API changes. Please consider pinning Lemmy-Swift-Client to a specific version at this time.

Usage

Below is an example of a basic usage example of how to use the Lemmy Swift Client.

import Lemmy_Swift_Client

if let url = URL(string: "https://eventfrontier.com/api/v3") {
	// Create an instance of the Lemmy API with the base URL of your Lemmy instance
	let api = LemmyAPI(baseUrl: url)

	// Create a SearchRequest object with the `q` parameter
	let request = SearchRequest(q: "Lemmy-Swift-Client")
	// Send the request to the Lemmy API
	if let response = try? await api.request(request) {
		print(response)
	} else {
		print("Error")
	}
}

Luckily this just scratches the surface of what you can do with the Lemmy Swift Client. For more information checkout our documentation.

Resources

License

Lemmy Swift Client is available under the MIT license. See the LICENSE.

Code Formatting + Linting

This project uses swiftformat for code formatting and linting.

Please make sure to lint your code before submitting a Pull Request.

If you do not have swiftformat installed, you can install it with Homebrew:

brew install swiftformat

The repository provides simple Makefile targets to run either:

# Lint (will not apply changes)
make lint

# Lint and apply correct formatting
make lint-fix

Maintainers

About

A Swift client for Lemmy.

https://rrainn.github.io/Lemmy-Swift-Client/documentation/lemmy_swift_client/

License:MIT License


Languages

Language:Swift 100.0%Language:Makefile 0.0%