Repository
Current version released
a year ago
Versions
Requery π¦
π A tiny module for retrieving and validating queries (search params) from a given request, returning a strongly typed object of queries and their values.
Usage
import { getQueries } from 'https://deno.land/x/requery@0.0.1/mod.ts'
getQueries(request, 'title', 'n:count', 'info?', 'b:all', 'n:ttl?')
// =>
{
title: string,
count: number,
info?: string,
all: boolean,
ttl?: number
}
Examples
const request = new Request('https://example.com/?title=Dinosaur&count=5&ttl=26&all')
getQueries(request, 'title', 'n:count', 'info?', 'b:all', 'n:ttl?')
// =>
{
title: 'Dinosaur',
count: 5,
info: undefined,
all: true,
ttl?: 26
}
const request = new Request('https://example.com/?r=255&g=126&b=32&extra=not-picked')
getQueries(request, 'n:r', 'n:g', 'n:b')
// =>
{
r: 255,
g: 126,
b: 32
}
const request = new Request('https://example.com/?red=255&green=126')
getQueries(request, 'n:red', 'n:green', 'n:blue')
// =>
// InvalidParamsError: Param 'blue' is missing
const request = new Request('https://example.com/?confirmed=ok')
getQueries(request, 'b:confirmed')
// =>
// InvalidParamsError: Param 'confirmed' is not a boolean