Skip to content
Effect 4.0 is here. One ecosystem. Zero dependencies.

HttpApiSchema

50 exports Since 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

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

Signature

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

Signature

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

Signature

declare function getMultipartStream(ast: AST): Options | undefined
Since v1.0.0

Signature

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

Signature

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

Empty Errors

Signature

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

EmptyError

interface
Since v1.0.0

Signature

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

Signature

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

Empty Response

Since v1.0.0

Signature

declare const Accepted: Accepted

Accepted

interface
Since v1.0.0

Signature

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

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
Since v1.0.0

Signature

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

Signature

declare const Created: Created

Created

interface
Since v1.0.0

Signature

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

Signature

declare function Empty(status: number): Void

Signature

declare const NoContent: NoContent

NoContent

interface
Since v1.0.0

Signature

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

Encoding

Since v1.0.0

Encoding

interface
Since v1.0.0

Signature

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

Signature

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

Signature

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

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

Since v1.0.0

Signature

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

Signature

interface EmptyErrorUnifyIgnore extends EffectUnifyIgnore {
Effect?: true;
}

Multipart

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
Since v1.0.0

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>
Since v1.0.0

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
Since v1.0.0

Signature

type MultipartTypeId = typeof MultipartTypeId

Other

Signature

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

Signature

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

Path Params

Since v1.0.0

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
Since v1.0.0

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
Since v1.0.0

Signature

declare function isVoid(ast: AST): boolean