Multipart overview
Added in v1.0.0
Table of contents
constructors
makeChannel
Signature
export declare const makeChannel: <IE>(
headers: Record<string, string>,
bufferSize?: number
) => Channel.Channel<never, IE, Chunk.Chunk<Uint8Array>, unknown, MultipartError | IE, Chunk.Chunk<Part>, unknown>
Added in v1.0.0
makeConfig
Signature
export declare const makeConfig: (headers: Record<string, string>) => Effect.Effect<never, never, Multipasta.BaseConfig>
Added in v1.0.0
toPersisted
Signature
export declare const toPersisted: (
stream: Stream.Stream<never, MultipartError, Part>,
writeFile?: ((path: string, file: File) => Effect.Effect<FileSystem.FileSystem, MultipartError, void>) | undefined
) => Effect.Effect<FileSystem.FileSystem | Path.Path | Scope.Scope, MultipartError, Persisted>
Added in v1.0.0
errors
MultipartError
Signature
export declare const MultipartError: (reason: MultipartError["reason"], error: unknown) => MultipartError
Added in v1.0.0
MultipartError (interface)
Signature
export interface MultipartError extends Data.Case {
readonly [ErrorTypeId]: ErrorTypeId
readonly _tag: "MultipartError"
readonly reason: "FileTooLarge" | "FieldTooLarge" | "BodyTooLarge" | "TooManyParts" | "InternalError" | "Parse"
readonly error: unknown
}
Added in v1.0.0
fiber refs
fieldMimeTypes
Signature
export declare const fieldMimeTypes: FiberRef.FiberRef<Chunk.Chunk<string>>
Added in v1.0.0
maxFieldSize
Signature
export declare const maxFieldSize: FiberRef.FiberRef<FileSystem.Size>
Added in v1.0.0
maxFileSize
Signature
export declare const maxFileSize: FiberRef.FiberRef<Option.Option<FileSystem.Size>>
Added in v1.0.0
maxParts
Signature
export declare const maxParts: FiberRef.FiberRef<Option.Option<number>>
Added in v1.0.0
withFieldMimeTypes
Signature
export declare const withFieldMimeTypes: {
(mimeTypes: ReadonlyArray<string>): <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
<R, E, A>(effect: Effect.Effect<R, E, A>, mimeTypes: ReadonlyArray<string>): Effect.Effect<R, E, A>
}
Added in v1.0.0
withMaxFieldSize
Signature
export declare const withMaxFieldSize: {
(size: FileSystem.SizeInput): <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
<R, E, A>(effect: Effect.Effect<R, E, A>, size: FileSystem.SizeInput): Effect.Effect<R, E, A>
}
Added in v1.0.0
withMaxFileSize
Signature
export declare const withMaxFileSize: {
(size: Option.Option<FileSystem.SizeInput>): <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
<R, E, A>(effect: Effect.Effect<R, E, A>, size: Option.Option<FileSystem.SizeInput>): Effect.Effect<R, E, A>
}
Added in v1.0.0
withMaxParts
Signature
export declare const withMaxParts: {
(count: Option.Option<number>): <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
<R, E, A>(effect: Effect.Effect<R, E, A>, count: Option.Option<number>): Effect.Effect<R, E, A>
}
Added in v1.0.0
models
Field (interface)
Signature
export interface Field extends Part.Proto {
readonly _tag: "Field"
readonly key: string
readonly contentType: string
readonly value: string
}
Added in v1.0.0
File (interface)
Signature
export interface File extends Part.Proto {
readonly _tag: "File"
readonly key: string
readonly name: string
readonly contentType: string
readonly content: Stream.Stream<never, MultipartError, Uint8Array>
}
Added in v1.0.0
Part (type alias)
Signature
export type Part = Field | File
Added in v1.0.0
Persisted (interface)
Signature
export interface Persisted {
readonly [key: string]: ReadonlyArray<PersistedFile> | string
}
Added in v1.0.0
PersistedFile (interface)
Signature
export interface PersistedFile extends Part.Proto {
readonly _tag: "PersistedFile"
readonly key: string
readonly name: string
readonly contentType: string
readonly path: string
}
Added in v1.0.0
refinements
isField
Signature
export declare const isField: (u: unknown) => u is Field
Added in v1.0.0
schema
filesSchema
Signature
export declare const filesSchema: Schema.Schema<readonly PersistedFile[], readonly PersistedFile[]>
Added in v1.0.0
schemaJson
Signature
export declare const schemaJson: <I, A>(
schema: Schema.Schema<I, A>
) => {
(field: string): (persisted: Persisted) => Effect.Effect<never, ParseResult.ParseError, A>
(persisted: Persisted, field: string): Effect.Effect<never, ParseResult.ParseError, A>
}
Added in v1.0.0
schemaPersisted
Signature
export declare const schemaPersisted: <I extends Persisted, A>(
schema: Schema.Schema<I, A>
) => (persisted: Persisted) => Effect.Effect<never, ParseResult.ParseError, A>
Added in v1.0.0
type ids
ErrorTypeId
Signature
export declare const ErrorTypeId: typeof ErrorTypeId
Added in v1.0.0
ErrorTypeId (type alias)
Signature
export type ErrorTypeId = typeof ErrorTypeId
Added in v1.0.0
TypeId
Signature
export declare const TypeId: typeof TypeId
Added in v1.0.0
TypeId (type alias)
Signature
export type TypeId = typeof TypeId
Added in v1.0.0
utils
Part (namespace)
Added in v1.0.0
Proto (interface)
Signature
export interface Proto {
readonly [TypeId]: TypeId
readonly _tag: string
}
Added in v1.0.0