Skip to content

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$ {
  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$ {
  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$ {
  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;