go-forge/params.go
Virgil 551a964fdb
All checks were successful
Security Scan / security (push) Successful in 9s
Test / test (push) Successful in 1m36s
refactor(ax): enforce v0.8.0 polish rules
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-29 23:39:24 +00:00

29 lines
664 B
Go

package forge
import (
"net/url"
core "dappco.re/go/core"
)
// Params maps path variable names to values.
// Example: Params{"owner": "core", "repo": "go-forge"}
//
// Usage:
//
// params := forge.Params{"owner": "core", "repo": "go-forge"}
// _ = params
type Params map[string]string
// ResolvePath substitutes {placeholders} in path with values from params.
//
// Usage:
//
// path := forge.ResolvePath("/api/v1/repos/{owner}/{repo}", forge.Params{"owner": "core", "repo": "go-forge"})
// _ = path
func ResolvePath(path string, params Params) string {
for k, v := range params {
path = core.Replace(path, "{"+k+"}", url.PathEscape(v))
}
return path
}