Endpoint to Datastar action converter

Converts ZIO HTTP Endpoint to Datastar action expressions (@get('/users/$id')).

  • Method mapping (GET/POST/PUT/PATCH/DELETE), with Method.ANY fallback via OpenAPIGen.method
  • Path params → $param placeholders
  • GET query params → alphabetically sorted placeholders
  • Minimal API: DatastarAction.asString(endpoint), DatastarAction.fromEndpoint(endpoint)

Also fixes: Body.fromCharSequence Scala 3.3.6+ compilation (charSequence.isEmptycharSequence.length() == 0)

Files:

  • zio-http-datastar-sdk/src/main/scala/zio/http/datastar/DatastarAction.scala (new)
  • zio-http-datastar-sdk/src/test/scala/zio/http/datastar/DatastarActionSpec.scala (new)
  • zio-http/shared/src/main/scala/zio/http/Body.scala (1-line fix)

/claim #3697

Claim

Total prize pool $250
Total paid $0
Status Pending
Submitted October 08, 2025
Last updated October 08, 2025

Contributors

JO

Joshua McDonagh

@shua-ie

100%

Sponsors

ZI

ZIO

@ZIO

$250