UNPKG

@auth70/bodyguard

Version:

Fetch API compatible streaming JSON and form data body parser and guard

48 lines (47 loc) 1.53 kB
import type { BodyguardConfig, BodyguardFormConfig, JSONLike } from './lib.js'; export interface Parser { config: BodyguardConfig; depth: number; keyCount: number; parse(stream: ReadableStream<Uint8Array>): Promise<JSONLike>; } export declare class TextParser implements Parser { config: BodyguardConfig; depth: number; keyCount: number; constructor(config: BodyguardConfig); parse(stream: ReadableStream<Uint8Array>): Promise<JSONLike>; } export declare class JSONParser implements Parser { config: BodyguardConfig; depth: number; keyCount: number; constructor(config: BodyguardConfig); parse(stream: ReadableStream<Uint8Array>): Promise<JSONLike>; } export declare class URLParamsParser implements Parser { config: BodyguardConfig; depth: number; keyCount: number; private state; private currentKey; private currentValue; private EQUALS; private AMPERSAND; constructor(config: BodyguardConfig); parse(stream: ReadableStream<Uint8Array>): Promise<JSONLike>; parseStream(stream: ReadableStream<Uint8Array>): AsyncGenerator<{ key: string; value: string; keyCount: number; }, void, unknown>; } export declare class FormDataParser implements Parser { config: BodyguardFormConfig; depth: number; keyCount: number; fileCount: number; private boundary; constructor(config: BodyguardFormConfig, boundary: string); parse(stream: ReadableStream<Uint8Array>): Promise<JSONLike>; }