ProblemDetailsExtensions

import { ProblemDetailsExtensions } from "jsr:@ende/http/unstable-problem-details";

type alias ยท experimental

type ProblemDetailsExtensions = Omit<Record<string, unknown>, StandardProblemDetailsMember>

Constraint for Problem Details extension members.

The constraint itself is intentionally loose (effectively Record<string, unknown>) so that TypeScript can infer T from object literals at call sites without standard keys being captured into T and then failing a stricter never check. Safety is enforced one level up: the intersection in ProblemDetails explicitly types the five standard members, so if T redeclares any of them with an incompatible type the resulting field collapses to never and the value becomes unconstructible.

Source