HttpApiSchema overview
Added in v1.0.0
Table of contents
annotations
AnnotationEmptyDecodeable
Signature
export declare const AnnotationEmptyDecodeable: typeof AnnotationEmptyDecodeable
Added in v1.0.0
AnnotationEncoding
Signature
export declare const AnnotationEncoding: typeof AnnotationEncoding
Added in v1.0.0
AnnotationMultipart
Signature
export declare const AnnotationMultipart: typeof AnnotationMultipart
Added in v1.0.0
AnnotationParam
Signature
export declare const AnnotationParam: typeof AnnotationParam
Added in v1.0.0
AnnotationStatus
Signature
export declare const AnnotationStatus: typeof AnnotationStatus
Added in v1.0.0
annotations
Signature
export declare const annotations: <A>(
annotations: Schema.Annotations.Schema<NoInfer<A>> & { readonly status?: number | undefined }
) => Schema.Annotations.Schema<A>
Added in v1.0.0
extractAnnotations
Signature
export declare const extractAnnotations: (ast: AST.Annotations) => AST.Annotations
Added in v1.0.0
getEmptyDecodeable
Signature
export declare const getEmptyDecodeable: (ast: AST.AST) => boolean
Added in v1.0.0
getEncoding
Signature
export declare const getEncoding: (ast: AST.AST) => Encoding
Added in v1.0.0
getMultipart
Signature
export declare const getMultipart: (ast: AST.AST) => boolean
Added in v1.0.0
getParam
Signature
export declare const getParam: (ast: AST.AST) => string | undefined
Added in v1.0.0
getStatus
Signature
export declare const getStatus: (ast: AST.AST, defaultStatus: number) => number
Added in v1.0.0
empty errors
EmptyError
Signature
export declare const EmptyError: <Self>() => <const Tag extends string>(options: {
readonly tag: Tag
readonly status: number
}) => EmptyErrorClass<Self, Tag>
Added in v1.0.0
EmptyErrorClass (interface)
Signature
export interface EmptyErrorClass<Self, Tag> extends Schema.Schema<Self, void> {
new (_: void): { readonly _tag: Tag } & Effect.Effect<never, Self>
}
Added in v1.0.0
empty response
Accepted
Signature
export declare const Accepted: Accepted
Added in v1.0.0
Accepted (interface)
Signature
export interface Accepted extends Void$ {
readonly _: unique symbol
}
Added in v1.0.0
Created
Signature
export declare const Created: Created
Added in v1.0.0
Created (interface)
Signature
export interface Created extends Void$ {
readonly _: unique symbol
}
Added in v1.0.0
Empty
Signature
export declare const Empty: (status: number) => typeof Schema.Void
Added in v1.0.0
NoContent
Signature
export declare const NoContent: NoContent
Added in v1.0.0
NoContent (interface)
Signature
export interface NoContent extends Void$ {
readonly _: unique symbol
}
Added in v1.0.0
asEmpty
Signature
export declare const asEmpty: {
<S extends Schema.Schema.Any>(options: {
readonly status: number
readonly decode: LazyArg<Schema.Schema.Type<S>>
}): (self: S) => asEmpty<S>
<S extends Schema.Schema.Any>(
self: S,
options: { readonly status: number; readonly decode: LazyArg<Schema.Schema.Type<S>> }
): asEmpty<S>
}
Added in v1.0.0
asEmpty (interface)
Signature
export interface asEmpty<S extends Schema.Schema.Any> extends Schema.transform<typeof Schema.Void, S> {}
Added in v1.0.0
encoding
Encoding (interface)
Signature
export interface Encoding {
readonly kind: "Json" | "UrlParams" | "Uint8Array" | "Text"
readonly contentType: string
}
Added in v1.0.0
Encoding (namespace)
Added in v1.0.0
Validate (type alias)
Signature
export type Validate<A extends Schema.Schema.Any, Kind extends Encoding["kind"]> = Kind extends "Json"
? {}
: Kind extends "UrlParams"
? [A["Encoded"]] extends [Readonly<Record<string, string | undefined>>]
? {}
: `'UrlParams' kind can only be encoded to 'Record<string, string | undefined>'`
: Kind extends "Uint8Array"
? [A["Encoded"]] extends [Uint8Array]
? {}
: `'Uint8Array' kind can only be encoded to 'Uint8Array'`
: Kind extends "Text"
? [A["Encoded"]] extends [string]
? {}
: `'Text' kind can only be encoded to 'string'`
: never
Added in v1.0.0
Text
Signature
export declare const Text: (options?: { readonly contentType?: string }) => typeof Schema.String
Added in v1.0.0
Uint8Array
Signature
export declare const Uint8Array: (options?: { readonly contentType?: string }) => typeof Schema.Uint8ArrayFromSelf
Added in v1.0.0
withEncoding
Signature
export declare const withEncoding: {
<A extends Schema.Schema.Any, Kind extends Encoding["kind"]>(
options: { readonly kind: Kind; readonly contentType?: string | undefined } & Encoding.Validate<A, Kind>
): (self: A) => A
<A extends Schema.Schema.Any, Kind extends Encoding["kind"]>(
self: A,
options: { readonly kind: Kind; readonly contentType?: string | undefined } & Encoding.Validate<A, Kind>
): A
}
Added in v1.0.0
multipart
Multipart
Signature
export declare const Multipart: <S extends Schema.Schema.Any>(self: S) => Multipart<S>
Added in v1.0.0
Multipart (interface)
Signature
export interface Multipart<S extends Schema.Schema.Any>
extends Schema.Schema<
Schema.Schema.Type<S> & Brand<MultipartTypeId>,
Schema.Schema.Encoded<S>,
Schema.Schema.Context<S>
> {}
Added in v1.0.0
MultipartTypeId
Signature
export declare const MultipartTypeId: typeof MultipartTypeId
Added in v1.0.0
MultipartTypeId (type alias)
Signature
export type MultipartTypeId = typeof MultipartTypeId
Added in v1.0.0
path params
AnyString (type alias)
Signature
export type AnyString = Schema.Schema<any, string, never> | Schema.Schema<any, string, any>
Added in v1.0.0
Param (interface)
Signature
export interface Param<Name extends string, S extends Schema.Schema.Any>
extends Schema.Schema<S["Type"], S["Encoded"], S["Context"]> {
readonly [AnnotationParam]: Name
}
Added in v1.0.0
param
Signature
export declare const param: {
<Name extends string>(name: Name): <S extends AnyString>(schema: S) => Param<Name, S>
<Name extends string, S extends AnyString>(name: Name, schema: S): Param<Name, S>
}
Added in v1.0.0
reflection
getStatusError
Signature
export declare const getStatusError: <A extends Schema.Schema.All>(self: A) => number
Added in v1.0.0
getStatusErrorAST
Signature
export declare const getStatusErrorAST: (ast: AST.AST) => number
Added in v1.0.0
getStatusSuccess
Signature
export declare const getStatusSuccess: <A extends Schema.Schema.Any>(self: A) => number
Added in v1.0.0
getStatusSuccessAST
Signature
export declare const getStatusSuccessAST: (ast: AST.AST) => number
Added in v1.0.0
isVoid
Signature
export declare const isVoid: (ast: AST.AST) => boolean
Added in v1.0.0
utils
UnionUnify
Signature
export declare const UnionUnify: <A extends Schema.Schema.All, B extends Schema.Schema.All>(
self: A,
that: B
) => Schema.Schema<A["Type"] | B["Type"], A["Encoded"] | B["Encoded"], A["Context"] | B["Context"]>
Added in v1.0.0
deunionize
Signature
export declare const deunionize: (schemas: Set<Schema.Schema.Any>, schema: Schema.Schema.Any) => void
Added in v1.0.0