Link Search Menu Expand Document

index overview

Added in v0.2.0


Table of contents


Concat (interface)

Signature

export interface Concat<N1 extends Newtype<object, any>, N2 extends Newtype<object, CarrierOf<N1>>>
  extends Newtype<URIOf<N1> & URIOf<N2>, CarrierOf<N1>> {}

Added in v0.2.0

Extends (interface)

Signature

export interface Extends<N extends AnyNewtype, Tags extends object> extends Newtype<Tags & URIOf<N>, CarrierOf<N>> {}

Added in v0.2.0

Newtype (interface)

Signature

export interface Newtype<URI, A> {
  readonly _URI: URI
  readonly _A: A
}

Added in v0.2.0

AnyNewtype (type alias)

Signature

export type AnyNewtype = Newtype<any, any>

Added in v0.2.0

CarrierOf (type alias)

Signature

export type CarrierOf<N extends AnyNewtype> = N['_A']

Added in v0.2.0

URIOf (type alias)

Signature

export type URIOf<N extends AnyNewtype> = N['_URI']

Added in v0.2.0

getEq

Signature

export const getEq = <S extends AnyNewtype>(S: Eq<CarrierOf<S>>): Eq<S> => ...

Added in v0.3.0

getField

Signature

export const getField = <S extends AnyNewtype>(F: Field<CarrierOf<S>>): Field<S> => ...

Added in v0.2.0

getMonoid

Signature

export const getMonoid = <S extends AnyNewtype>(M: Monoid<CarrierOf<S>>): Monoid<S> => ...

Added in v0.2.0

getOrd

Signature

export const getOrd = <S extends AnyNewtype>(O: Ord<CarrierOf<S>>): Ord<S> => ...

Added in v0.2.0

getRing

Signature

export const getRing = <S extends AnyNewtype>(R: Ring<CarrierOf<S>>): Ring<S> => ...

Added in v0.2.0

getSemigroup

Signature

export const getSemigroup = <S extends AnyNewtype>(S: Semigroup<CarrierOf<S>>): Semigroup<S> => ...

Added in v0.2.0

getSemiring

Signature

export const getSemiring = <S extends AnyNewtype>(S: Semiring<CarrierOf<S>>): Semiring<S> => ...

Added in v0.2.0

iso

Signature

export function iso<S extends AnyNewtype>(): Iso<S, CarrierOf<S>> { ... }

Added in v0.2.0

prism

Signature

export function prism<S extends AnyNewtype>(predicate: Predicate<CarrierOf<S>>): Prism<CarrierOf<S>, S> { ... }

Added in v0.2.0