Skip to content
Effect Days 2026 Get your ticket

HttpApiSchema

50 exports Added in v1.0.0 Source

Annotations

Signature

declare const AnnotationEmptyDecodeable: unique symbol

Signature

declare const AnnotationEncoding: unique symbol

Signature

declare const AnnotationMultipart: unique symbol

Signature

declare const AnnotationMultipartStream: unique symbol

Signature

declare const AnnotationParam: unique symbol

annotations

Added in v1.0.0 Source

Signature

declare function annotations<A>(annotations: any): Schema<A>

Signature

declare const AnnotationStatus: unique symbol

Signature

declare function extractAnnotations(ast: Annotations): Annotations

Signature

declare function getEmptyDecodeable(ast: AST): boolean

getEncoding

Added in v1.0.0 Source

Signature

declare function getEncoding(ast: AST, fallback: Encoding): Encoding

getMultipart

Added in v1.0.0 Source

Signature

declare function getMultipart(ast: AST): Options | undefined

Signature

declare function getMultipartStream(ast: AST): Options | undefined

getParam

Added in v1.0.0 Source

Signature

declare function getParam(ast: any): string | undefined

getStatus

Added in v1.0.0 Source

Signature

declare function getStatus(ast: AST, defaultStatus: number): number

Empty Errors

EmptyError

Added in v1.0.0 Source

Signature

declare const EmptyError: <Self>() => <Tag extends string>(options: {
readonly status: number;
readonly tag: Tag;
}) => EmptyErrorClass<Self, Tag>

EmptyError interface

Added in v1.0.0 Source

Signature

interface EmptyError<Self, Tag> extends Effect<never, Self> {
readonly _tag: Tag;
[ignoreSymbol]?: EmptyErrorUnifyIgnore;
[typeSymbol]?: unknown;
[unifySymbol]?: EmptyErrorUnify<EmptyError<Self, Tag>>;
}

EmptyErrorClass interface

Added in v1.0.0 Source

Signature

interface EmptyErrorClass<Self, Tag> extends Schema<Self, void> {
constructor(_: void);
}

Empty Response

Accepted

Added in v1.0.0 Source

Signature

declare const Accepted: Accepted

Accepted interface

Added in v1.0.0 Source

Signature

interface Accepted extends Void$ {
constructor(_: never);
readonly _: typeof _;
}

asEmpty

Added in v1.0.0 Source

Signature

declare const asEmpty: {
<S extends Any>(options: {
readonly decode: LazyArg<Type<S>>;
readonly status: number;
}): (self: S) => asEmpty<S>;
<S extends Any>(self: S, options: {
readonly decode: LazyArg<Type<S>>;
readonly status: number;
}): asEmpty<S>;
}

asEmpty interface

Added in v1.0.0 Source

Signature

interface asEmpty<S extends Schema.Schema.Any> extends transform<Void, S> {}

Created

Added in v1.0.0 Source

Signature

declare const Created: Created

Created interface

Added in v1.0.0 Source

Signature

interface Created extends Void$ {
constructor(_: never);
readonly _: typeof _;
}

Empty

Added in v1.0.0 Source

Signature

declare function Empty(status: number): Void

NoContent

Added in v1.0.0 Source

Signature

declare const NoContent: NoContent

NoContent interface

Added in v1.0.0 Source

Signature

interface NoContent extends Void$ {
constructor(_: never);
readonly _: typeof _;
}

Encoding

Encoding

Added in v1.0.0 Source

Encoding interface

Added in v1.0.0 Source

Signature

interface Encoding {
readonly contentType: string;
readonly kind: "Json" | "UrlParams" | "Uint8Array" | "Text";
}

Text

Added in v1.0.0 Source

Signature

declare function Text(options?: {
readonly contentType?: string;
}): String

Uint8Array

Added in v1.0.0 Source

Signature

declare function Uint8Array(options?: {
readonly contentType?: string;
}): any

withEncoding

Added in v1.0.0 Source

Signature

declare const withEncoding: {
<A extends Any, Kind extends "Json" | "UrlParams" | "Uint8Array" | "Text">(options: {
readonly contentType?: string;
readonly kind: Kind;
} & Validate<A, Kind>): (self: A) => A;
<A extends Any, Kind extends "Json" | "UrlParams" | "Uint8Array" | "Text">(self: A, options: {
readonly contentType?: string;
readonly kind: Kind;
} & Validate<A, Kind>): A;
}

Models

EmptyErrorUnify interface

Added in v1.0.0 Source

Signature

interface EmptyErrorUnify<A extends {
[typeSymbol]?: any;
}> extends EffectUnify<A> {
EmptyError?: () => A[typeof typeSymbol] extends EmptyError<Self, _Tag> | _ ? Self : never;
}

EmptyErrorUnifyIgnore interface

Added in v1.0.0 Source

Signature

interface EmptyErrorUnifyIgnore extends EffectUnifyIgnore {
Effect?: true;
}

Multipart

Multipart

Added in v1.0.0 Source

Signature

declare const Multipart: <S extends Any>(self: S, options?: {
readonly fieldMimeTypes?: readonly Array<string>;
readonly maxFieldSize?: SizeInput;
readonly maxFileSize?: Option<SizeInput>;
readonly maxParts?: Option<number>;
readonly maxTotalSize?: Option<SizeInput>;
}) => Multipart<S>

Multipart interface

Added in v1.0.0 Source

Signature

interface Multipart<S extends Schema.Schema.Any> extends Schema<Schema.Schema.Type<S> & Brand<MultipartTypeId>, Schema.Schema.Encoded<S>, Schema.Schema.Context<S>> {}

Signature

declare const MultipartStream: <S extends Any>(self: S, options?: {
readonly fieldMimeTypes?: readonly Array<string>;
readonly maxFieldSize?: SizeInput;
readonly maxFileSize?: Option<SizeInput>;
readonly maxParts?: Option<number>;
readonly maxTotalSize?: Option<SizeInput>;
}) => MultipartStream<S>

MultipartStream interface

Added in v1.0.0 Source

Signature

interface MultipartStream<S extends Schema.Schema.Any> extends Schema<Schema.Schema.Type<S> & Brand<MultipartStreamTypeId>, Schema.Schema.Encoded<S>, Schema.Schema.Context<S>> {}

Signature

declare const MultipartStreamTypeId: unique symbol

Signature

type MultipartStreamTypeId = typeof MultipartStreamTypeId

Signature

declare const MultipartTypeId: unique symbol

MultipartTypeId type

Added in v1.0.0 Source

Signature

type MultipartTypeId = typeof MultipartTypeId

Other

deunionize

Added in v1.0.0 Source

Signature

declare function deunionize(schemas: Set<Any>, schema: Any): void

UnionUnify

Added in v1.0.0 Source

Signature

declare function UnionUnify<A extends All, B extends All>(self: A, that: B): any

Path Params

param

Added in v1.0.0 Source

Signature

declare const param: {
<Name extends string>(name: Name): <S extends any>(schema: S) => Param<Name, S>;
<Name extends string, S extends any>(name: Name, schema: S): Param<Name, S>;
}

Param interface

Added in v1.0.0 Source

Signature

interface Param<Name extends string, S extends Schema.Schema.Any | Schema.PropertySignature.Any> extends Schema<Schema.Schema.Type<S>, Schema.Schema.Encoded<S>, Schema.Schema.Context<S>> {
readonly [AnnotationParam]: {
readonly name: Name;
readonly schema: S;
};
}

Reflection

Signature

declare function getStatusError<A extends All>(self: A): number

Signature

declare function getStatusErrorAST(ast: AST): number

Signature

declare function getStatusSuccess<A extends Any>(self: A): number

Signature

declare function getStatusSuccessAST(ast: AST): number

isVoid

Added in v1.0.0 Source

Signature

declare function isVoid(ast: AST): boolean