swift-http-types-htmx

CI codecov

apple/swift-http-types 提供的 HTMX 扩展。

该包提供了以下扩展:

它还在代码中提供了 HTMX 文档

用法

import HTTPTypes 
import HTTPTypesHtmx

// Creating HTTPFields

let headersViaArray = HTTPFields([
  .hxRetarget("#myDiv"),
  .hxReswap(.outerHTML),
])

let headersViaDictionary: HTTPFields = [
  .hxRetarget: "#myDiv",
  .hxReswap: HxSwap.outerHTML,
] 

// Getting values from HTTPFields
let exampleRequestHeaders = HTTPFields([
  .hxBoosted(),
  .hxRequest(),
  .hxTarget(id: "myDiv")
])

requestHeaders.hxBoosted // true
requestHeaders.hxRequest // true
requestHeaders.hxTarget  // "myDiv"

示例

有一个使用 Hummingbird 框架 的服务器的 示例项目,其中包含一些关于如何使用 HTMX 响应头来驱动应用程序的示例。

所有处理程序都有测试,演示了如何使用此库来模拟 HTMX 请求以进行测试。

安装

将依赖项添加到 Package.swift

dependencies: [
  .package(url: "https://github.com/alephao/swift-http-types-htmx.git", from: "0.3.0")
],

将要使用的 products 添加到目标依赖项

.target(
  name: "MyTarget",
  dependencies: [
    .product(name: "HTTPTypesHtmx", package: "swift-htmx"),
  ]
)