go-forge/params.go
Virgil a5dc900fd5 docs(ax): complete v0.8.0 usage examples
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-27 04:50:29 +00:00

29 lines
680 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 example:
//
// params := forge.Params{"owner": "core", "repo": "go-forge"}
// _ = params
type Params map[string]string
// ResolvePath substitutes {placeholders} in path with values from params.
//
// Usage example:
//
// 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
}