| import * as internal from "./internal/multipart.js" | |
| import type * as HeadersParser from "./HeadersParser.js" | |
| export interface PartInfo { | |
| readonly name: string | |
| readonly filename?: string | undefined | |
| readonly contentType: string | |
| readonly contentTypeParameters: Record<string, string> | |
| readonly contentDisposition: string | |
| readonly contentDispositionParameters: Record<string, string> | |
| readonly headers: Record<string, string | Array<string>> | |
| } | |
| export type MultipartError = | |
| | { | |
| readonly _tag: "InvalidBoundary" | |
| } | |
| | { | |
| readonly _tag: "BadHeaders" | |
| readonly error: HeadersParser.Failure | |
| } | |
| | { | |
| readonly _tag: "InvalidDisposition" | |
| } | |
| | { | |
| readonly _tag: "ReachedLimit" | |
| readonly limit: | |
| | "MaxParts" | |
| | "MaxTotalSize" | |
| | "MaxPartSize" | |
| | "MaxFieldSize" | |
| } | |
| | { | |
| readonly _tag: "EndNotReached" | |
| } | |
| export type BaseConfig = { | |
| readonly headers: Record<string, string> | |
| readonly isFile?: ((info: PartInfo) => boolean) | undefined | |
| readonly maxParts?: number | undefined | |
| readonly maxTotalSize?: number | undefined | |
| readonly maxPartSize?: number | undefined | |
| readonly maxFieldSize?: number | undefined | |
| } | |
| export type Config = BaseConfig & { | |
| readonly onField: (info: PartInfo, value: Uint8Array) => void | |
| readonly onFile: (info: PartInfo) => (chunk: Uint8Array | null) => void | |
| readonly onError: (error: MultipartError) => void | |
| readonly onDone: () => void | |
| } | |
| export interface Parser { | |
| readonly write: (chunk: Uint8Array) => void | |
| readonly end: () => void | |
| } | |
| export const make: (options: Config) => Parser = internal.make | |
| export const defaultIsFile: (info: PartInfo) => boolean = internal.defaultIsFile | |
| export const decodeField: (info: PartInfo, value: Uint8Array) => string = | |
| internal.decodeField | |
Xet Storage Details
- Size:
- 1.81 kB
- Xet hash:
- d4e11b82779e774fb8966e81c7510aa075282590787489f833c179f6d67467a9
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.