Thanks to visit codestin.com
Credit goes to effect-ts.github.io

Skip to main content Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App

HttpApiMiddleware.ts overview

Since v1.0.0


Exports Grouped by Category


guards

isSecurity

Signature

declare const isSecurity: (u: TagClassAny) => u is TagClassSecurityAny

Source

Since v1.0.0

models

HttpApiMiddleware (interface)

Signature

export interface HttpApiMiddleware<Provides, E> extends Effect.Effect<Provides, E, HttpRouter.HttpRouter.Provided> {}

Source

Since v1.0.0

HttpApiMiddleware (namespace)

Source

Since v1.0.0

Any (interface)

Signature

export interface Any {
  readonly [TypeId]: TypeId
}

Source

Since v1.0.0

AnyId (interface)

Signature

export interface AnyId {
  readonly [TypeId]: {
    readonly provides: any
  }
}

Source

Since v1.0.0

Provides (type alias)

Signature

type Provides<A> = A extends { readonly [TypeId]: { readonly provides: infer P } } ? P : never

Source

Since v1.0.0

ExtractProvides (type alias)

Signature

type ExtractProvides<A> = Provides<Only<A>>

Source

Since v1.0.0

Error (type alias)

Signature

type Error<A> = A extends { readonly [TypeId]: { readonly failure: infer E } } ? E : never

Source

Since v1.0.0

ErrorContext (type alias)

Signature

type ErrorContext<A> = A extends { readonly [TypeId]: { readonly failureContext: infer R } } ? R : never

Source

Since v1.0.0

Only (type alias)

Signature

type Only<R> = Extract<R, AnyId>

Source

Since v1.0.0

Without (type alias)

Signature

type Without<R> = Exclude<R, AnyId>

Source

Since v1.0.0

HttpApiMiddlewareSecurity (type alias)

Signature

type HttpApiMiddlewareSecurity<Security, Provides, E> = {
  readonly [K in keyof Security]: (
    _: HttpApiSecurity.HttpApiSecurity.Type<Security[K]>
  ) => Effect.Effect<Provides, E, HttpRouter.HttpRouter.Provided>
}

Source

Since v1.0.0

TagClass (type alias)

Signature

type TagClass<Self, Name, Options> = Options extends {
  readonly security: Record<string, HttpApiSecurity.HttpApiSecurity>
}
  ? TagClass.BaseSecurity<
      Self,
      Name,
      Options,
      Simplify<
        HttpApiMiddlewareSecurity<Options["security"], TagClass.Service<Options>, TagClass.FailureService<Options>>
      >,
      Options["security"]
    >
  : TagClass.Base<Self, Name, Options, HttpApiMiddleware<TagClass.Service<Options>, TagClass.FailureService<Options>>>

Source

Since v1.0.0

TagClass (namespace)

Source

Since v1.0.0

Base (interface)

Signature

export interface Base<Self, Name extends string, Options, Service> extends Context.Tag<Self, Service> {
  new (_: never): Context.TagClassShape<Name, Service> & {
    readonly [TypeId]: {
      readonly provides: Provides<Options>
      readonly failure: Failure<Options>
      readonly failureContext: FailureContext<Options>
    }
  }
  readonly [TypeId]: TypeId
  readonly optional: Optional<Options>
  readonly failure: FailureSchema<Options>
  readonly provides: Options extends { readonly provides: Context.Tag<any, any> } ? Options["provides"] : undefined
}

Source

Since v1.0.0

BaseSecurity (interface)

Signature

export interface BaseSecurity<
  Self,
  Name extends string,
  Options,
  Service,
  Security extends Record<string, HttpApiSecurity.HttpApiSecurity>
> extends Base<Self, Name, Options, Service> {
  readonly [SecurityTypeId]: SecurityTypeId
  readonly security: Security
}

Source

Since v1.0.0

Provides (type alias)

Signature

type Provides<Options> = Options extends {
  readonly provides: Context.Tag<any, any>
  readonly optional?: false
}
  ? Context.Tag.Identifier<Options["provides"]>
  : never

Source

Since v1.0.0

Service (type alias)

Signature

type Service<Options> = Options extends { readonly provides: Context.Tag<any, any> }
  ? Context.Tag.Service<Options["provides"]>
  : void

Source

Since v1.0.0

FailureSchema (type alias)

Signature

type FailureSchema<Options> = Options extends { readonly failure: Schema.Schema.All; readonly optional?: false }
  ? Options["failure"]
  : typeof Schema.Never

Source

Since v1.0.0

Failure (type alias)

Signature

type Failure<Options> = Options extends {
  readonly failure: Schema.Schema<infer _A, infer _I, infer _R>
  readonly optional?: false
}
  ? _A
  : never

Source

Since v1.0.0

FailureContext (type alias)

Signature

type FailureContext<Options> = Schema.Schema.Context<FailureSchema<Options>>

Source

Since v1.0.0

FailureService (type alias)

Signature

type FailureService<Options> = Optional<Options> extends true ? unknown : Failure<Options>

Source

Since v1.0.0

Optional (type alias)

Signature

type Optional<Options> = Options extends { readonly optional: true } ? true : false

Source

Since v1.0.0

TagClassAny (interface)

Signature

export interface TagClassAny extends Context.Tag<any, HttpApiMiddleware.Any> {
  readonly [TypeId]: TypeId
  readonly optional: boolean
  readonly provides?: Context.Tag<any, any>
  readonly failure: Schema.Schema.All
}

Source

Since v1.0.0

TagClassSecurityAny (interface)

Signature

export interface TagClassSecurityAny extends TagClassAny {
  readonly [SecurityTypeId]: SecurityTypeId
  readonly security: Record<string, HttpApiSecurity.HttpApiSecurity>
}

Source

Since v1.0.0

tags

Tag

Signature

declare const Tag: <Self>() => <
  const Name extends string,
  const Options extends {
    readonly optional?: boolean
    readonly failure?: Schema.Schema.All
    readonly provides?: Context.Tag<any, any>
    readonly security?: Record<string, HttpApiSecurity.HttpApiSecurity>
  }
>(
  id: Name,
  options?: Options | undefined
) => TagClass<Self, Name, Options>

Source

Since v1.0.0

type ids

SecurityTypeId

Signature

declare const SecurityTypeId: unique symbol

Source

Since v1.0.0

SecurityTypeId (type alias)

Signature

type SecurityTypeId = typeof SecurityTypeId

Source

Since v1.0.0

TypeId

Signature

declare const TypeId: unique symbol

Source

Since v1.0.0

TypeId (type alias)

Signature

type TypeId = typeof TypeId

Source

Since v1.0.0