FaunaDB Swift 驱动程序
用于 FaunaDB 的 Swift 驱动程序
支持的平台
- iOS 9.0+ | OSX 10.10+ | tvOS 9.0+ | watchOS 2.0+
- Xcode 8
- Swift 3
文档
请参阅 Swift 特定的 参考文档。
您可以在 FaunaDB 文档 和我们的 示例项目 中找到更多信息。
使用驱动程序
安装
CocoaPods
pod 'FaunaDB', '~> 2.0.0'
Carthage
github 'fauna/faunadb-swift'
SwiftPM
.Package(url: "https://github.com/fauna/faunadb-swift.git", Version(2, 0, 0))
基本用法
import FaunaDB
struct Post {
let title: String
let body: String?
}
extension Post: FaunaDB.Encodable {
func encode() -> Expr {
return Obj(
"title" => title,
"body" => body
)
}
}
extension Post: FaunaDB.Decodable {
init?(value: Value) throws {
try self.init(
title: value.get("title") ?? "Untitled",
body: value.get("body")
)
}
}
let client = FaunaDB.Client(secret: "your-key-secret-here")
// Creating a new post
try! client.query(
Create(
at: Class("posts")
Obj("data" => Post("My swift app", nil))
)
).await(timeout: .now() + 5)
// Retrieve a saved post
let getPost = client.query(Get(Ref(class: Class("posts"), id: "42")))
let post: Post = try! getPost.map { dbEntry in dbEntry.get("data") }
.await(timeout: .now() + 5)
贡献力量
Github pull requests 非常欢迎。
驱动开发
你可以使用以下命令编译和运行测试:
FAUNA_ROOT_KEY=your-keys-secret-here swift test
许可证
版权所有2018年Fauna, Inc.
遵循Mozilla公共许可证,版本2.0("许可证");除非适用法律要求或经书面同意,否则不得使用本软件,除非遵守许可证。您可以在以下位置获取许可证副本:
除非适用法律要求或经书面同意,在许可证下分发的软件按“现状”提供,不提供任何明示或暗示的保证或条件。有关许可证所规定的权限和限制的具体语言,请参阅许可证。