@pyoxa/go-httpkit-query
v0.1.0
Published
Query param composer for the httpkit Go API conventions.
Readme
@pyoxa/aids-query
Small helper for composing query params that match the aids Go API conventions.
Install
bun add @pyoxa/aids-queryQuick usage
import { buildQuery, buildUrl } from "@pyoxa/aids-query";
const q = buildQuery()
.filter("habit_id", "f86b053f-94ce-4c6f-b13a-e1208979218a", "exact")
.sort("created_at", "desc")
.limit(50)
.offset(0);
const url = buildUrl("/api/habits", q);
// /api/habits?habit_id_exact=f86b053f-94ce-4c6f-b13a-e1208979218a&sort=-created_at&limit=50&offset=0Axios
import axios from "axios";
import { buildQuery } from "@pyoxa/aids-query";
const q = buildQuery()
.filterExact("habit_id", "f86b053f-94ce-4c6f-b13a-e1208979218a")
.limit(25)
.page(2);
const res = await axios.get("/api/habits", {
params: q.toSearchParams(),
});Fetch
import { buildQuery, buildUrl } from "@pyoxa/aids-query";
const q = buildQuery().filterCI("title", "daily").sort("title", "asc");
const res = await fetch(buildUrl("/api/habits", q));Notes
- Filters serialize as
{column}_{mode}=value, e.g.habit_id_exact=.... - Sort uses
sort=+columnorsort=-column. limit("ALL")disables pagination.
