acceptsLanguages
import { acceptsLanguages } from "jsr:@ende/http";function
function acceptsLanguages(request: Pick<Request, "headers">): string[]Returns an array of languages accepted by the request, in order of
preference. If there are no languages supplied in the request, then ["*"]
is returned, imply any language is accepted.
request: Pick<Request, "headers">The request to get the acceptable languages for.
Returns
An array of languages this request accepts.
Example: Usage
import { acceptsLanguages } from "@ende/http/negotiation";
import { assertEquals } from "@ende/assert";
const request = new Request("https://example.com/", {
headers: {
"accept-language": "fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5",
},
});
assertEquals(acceptsLanguages(request), ["fr-CH", "fr", "en", "de", "*"]);
function
function acceptsLanguages<T extends string = string>(request: Pick<Request, "headers">, ...langs: T[]): T | undefinedFor a given set of languages, return the best match accepted in the request.
If no languages match, then the function returns undefined.
request: Pick<Request, "headers">The request to get the acceptable language for.
...langs: T[]An array of languages to find the best matching one from.
Returns
The best matching language, if any match.
Example: Usage
import { acceptsLanguages } from "@ende/http/negotiation";
import { assertEquals } from "@ende/assert";
const request = new Request("https://example.com/", {
headers: {
"accept-language": "fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5",
},
});
assertEquals(acceptsLanguages(request, "en-gb", "en-us", "en"), "en");
function
function acceptsLanguages(request: Pick<Request, "headers">, ...langs: string[]): string | string[] | undefined