release: WRNexusJS 0.8.0
Quality / quality (ubuntu-latest) (push) Failing after 21s
Quality / quality (windows-latest) (push) Canceled after 0s

This commit is contained in:
2026-08-02 23:18:51 +05:30
parent 87507edf59
commit 586a6db8ff
625 changed files with 243608 additions and 11210 deletions
+4 -6
View File
@@ -7,9 +7,9 @@ export interface AsyncValidationContext<T> {
}
export type AsyncRefinement<T> = (context: AsyncValidationContext<T>) => void | Promise<void>;
export class AsyncObjectSchema<T extends Record<string, unknown> = Record<string, unknown>> {
export class AsyncObjectSchema<T extends object = Record<string, unknown>> {
readonly #refinements: AsyncRefinement<T>[] = [];
constructor(readonly base: ObjectSchema) {}
constructor(readonly base: ObjectSchema<T>) {}
refine(refinement: AsyncRefinement<T>): this {
this.#refinements.push(refinement);
return this;
@@ -36,13 +36,11 @@ export class AsyncObjectSchema<T extends Record<string, unknown> = Record<string
}
}
export function asyncSchema<T extends Record<string, unknown> = Record<string, unknown>>(
schema: ObjectSchema,
): AsyncObjectSchema<T> {
export function asyncSchema<T extends object>(schema: ObjectSchema<T>): AsyncObjectSchema<T> {
return new AsyncObjectSchema<T>(schema);
}
export async function parseBodyAsync<T extends Record<string, unknown>>(
export async function parseBodyAsync<T extends object>(
schema: AsyncObjectSchema<T>,
request: Request,
signal?: AbortSignal,