RouteGuard overview
Added in v1.0.0
Table of contents
utils
RouteGuard (interface)
Signature
export interface RouteGuard<R extends Route.Route.Any, B, E2, R2> {
  readonly route: R
  readonly guard: Guard.Guard<string, B, E2, R2>
}
Added in v1.0.0
RouteGuard (namespace)
Added in v1.0.0
Any (type alias)
Signature
export type Any = RouteGuard<Route.Route.Any, any, any, any>
Added in v1.0.0
Context (type alias)
Signature
export type Context<T> = T extends RouteGuard<infer _R, infer _B, infer _E2, infer R2> ? R2 : never
Added in v1.0.0
Error (type alias)
Signature
export type Error<T> = T extends RouteGuard<infer _R, infer _B, infer E2, infer _R2> ? E2 : never
Added in v1.0.0
Route (type alias)
Signature
export type Route<T> = T extends RouteGuard<infer _R, infer _B, infer _E2, infer _R2> ? T["route"] : never
Added in v1.0.0
Success (type alias)
Signature
export type Success<T> = T extends RouteGuard<infer _R, infer B, infer _E2, infer _R2> ? B : never
Added in v1.0.0
UpdateSuccess (type alias)
Signature
export type UpdateSuccess<R extends RouteGuard.Any, B> = RouteGuard<
  Route<R>,
  B,
  Route.RouteDecodeError<R["route"]>,
  Route.Route.Context<Route<R>>
>
Added in v1.0.0
concat
Signature
export declare const concat: {
  <R extends RouteGuard.Any>(
    other: R
  ): <L extends RouteGuard.Any>(
    self: L
  ) => RouteGuard<
    Route.Route.Concat<RouteGuard.Route<L>, RouteGuard.Route<R>>,
    RouteGuard.Success<L> & RouteGuard.Success<R>,
    RouteGuard.Error<L> | RouteGuard.Error<R>,
    RouteGuard.Context<L> | RouteGuard.Context<R>
  >
  <L extends RouteGuard.Any, R extends RouteGuard.Any>(
    self: L,
    other: R
  ): RouteGuard<
    Route.Route.Concat<RouteGuard.Route<L>, RouteGuard.Route<R>>,
    RouteGuard.Success<L> & RouteGuard.Success<R>,
    RouteGuard.Error<L> | RouteGuard.Error<R>,
    RouteGuard.Context<L> | RouteGuard.Context<R>
  >
}
Added in v1.0.0
filter
Signature
export declare const filter: {
  <R extends RouteGuard.Any>(f: (b: NoInfer<RouteGuard.Success<R>>) => boolean): (self: R) => R
  <R extends RouteGuard.Any>(self: R, f: (b: NoInfer<RouteGuard.Success<R>>) => boolean): R
}
Added in v1.0.0
filterMap
Signature
export declare const filterMap: {
  <R extends RouteGuard.Any, C>(
    f: (b: NoInfer<RouteGuard.Success<R>>) => Option.Option<C>
  ): (self: R) => RouteGuard<RouteGuard.Route<R>, C, RouteGuard.Error<R>, RouteGuard.Context<R>>
  <R extends RouteGuard.Any, C>(
    self: R,
    f: (b: NoInfer<RouteGuard.Success<R>>) => Option.Option<C>
  ): RouteGuard<RouteGuard.Route<R>, C, RouteGuard.Error<R>, RouteGuard.Context<R>>
}
Added in v1.0.0
flatMap
Signature
export declare const flatMap: {
  <R extends RouteGuard.Any, C, E3, R3>(
    guard: Guard.Guard<RouteGuard.Success<R>, C, E3, R3>
  ): (self: R) => RouteGuard<RouteGuard.Route<R>, C, E3 | RouteGuard.Error<R>, R3 | RouteGuard.Context<R>>
  <R extends RouteGuard.Any, C, E3, R3>(
    self: R,
    guard: Guard.Guard<RouteGuard.Success<R>, C, E3, R3>
  ): RouteGuard<RouteGuard.Route<R>, C, E3 | RouteGuard.Error<R>, R3 | RouteGuard.Context<R>>
}
Added in v1.0.0
fromRoute
Signature
export declare function fromRoute<R extends Route.Route.Any>(
  route: R
): RouteGuard<R, Route.Route.Type<R>, Route.RouteDecodeError<R>, Route.Route.Context<R>>
Added in v1.0.0
make
Signature
export declare function make<R extends Route.Route.Any, B, E2, R2>(
  route: R,
  guard: Guard.Guard<string, B, E2, R2>
): RouteGuard<R, B, E2, R2>
Added in v1.0.0
map
Signature
export declare const map: {
  <R extends RouteGuard.Any, C>(
    f: (b: NoInfer<RouteGuard.Success<R>>) => C
  ): (self: R) => RouteGuard<RouteGuard.Route<R>, C, RouteGuard.Error<R>, RouteGuard.Context<R>>
  <R extends RouteGuard.Any, C>(
    self: R,
    f: (b: NoInfer<RouteGuard.Success<R>>) => C
  ): RouteGuard<RouteGuard.Route<R>, C, RouteGuard.Error<R>, RouteGuard.Context<R>>
}
Added in v1.0.0
mapEffect
Signature
export declare const mapEffect: {
  <R extends RouteGuard.Any, C, E3, R3>(
    f: (b: NoInfer<RouteGuard.Success<R>>) => Effect.Effect<C, E3, R3>
  ): (self: R) => RouteGuard<RouteGuard.Route<R>, C, E3 | RouteGuard.Error<R>, R3 | RouteGuard.Context<R>>
  <R extends RouteGuard.Any, C, E3, R3>(
    self: R,
    f: (b: NoInfer<RouteGuard.Success<R>>) => Effect.Effect<C, E3, R3>
  ): RouteGuard<RouteGuard.Route<R>, C, E3 | RouteGuard.Error<R>, R3 | RouteGuard.Context<R>>
}
Added in v1.0.0