nee-core
Module Contents
alltypes
Module Contents
class ActiveAsyncClose<R>
class ActiveAsynStack<R> : AsyncStack<R>
typealias ANee<R, A> = Nee<R, Any, A>
interface AsyncClosingAction<R>
class AsyncEffect<R : ExecutionContextProvider> : Effect<R, Nothing>, Logging
class AsyncEnvWrapper<R> : AsyncSupport<R>, Logging
sealed class AsyncStack<R> : Logging
interface AsyncSupport<R>
class CacheEffect<R, E, P> : Effect<R, E>
interface CacheProvider
data class ClassReport
class CleanAsyncStack<R> : AsyncStack<R>
data class CodeLocation
object CodeNameFinder
class ECProvider : ExecutionContextProvider
interface Effect<R, E>
class Effects<R1, R2 : R1, E1, E2> : Effect<R2, Either<E1, E2>>
Module Contents
Effects(inner: Effect<R1, E1>, outer: Effect<R2, E2>)
fun <R1, R2 : R1, E1, E2> combine(outer: Effect<R1, E1>, inner: Effect<R2, E2>): Effect<R2, Either<E1, E2>>
fun <A> wrap(f: (R2) -> A): (R2) -> Pair<Out<Either<E1, E2>, A>, R2>
sealed class EntryType
object EnvLeaf : FlexibleEnv
interface ExecutionContext
interface ExecutionContextProvider
class ExecutorExecutionContext : ExecutionContext, Logging
interface FlexibleEnv
class FlexSecEffect<USER, ROLE> : Effect<FlexibleEnv, SecurityError>
class FlexSecurityProvider<USER, ROLE> : FlexibleEnv, SecurityProvider<USER, ROLE>
class FlexTxEffect<R> : Effect<FlexibleEnv, TxError>
data class FunctionReport
class HandleErrorEffect<R, E, E1> : Effect<R, E1>
class HasteTimeProvider : TimeProvider
object InPlaceExecutor : Executor
data class InvocationAccumulator
io.vavr.control.Either
kotlin.Function1
data class LogEntry
interface Logger<T : Logger<T>>
interface Logging
data class LogMessage
class LogsAnalyzer
interface LogsProvider
data class LogsReport
class MutableInMemLogger : Logger<MutableInMemLogger>, LogsProvider
class NaiveCacheProvider : CacheProvider
typealias NanoTime = () -> Long
sealed class Nee<R, E, out A>
Module Contents
fun anyError(): ANee<R, A>
fun <R, E, A : Any> constR(effect: Effect<R, E>, value: A): Nee<R, E, A>
fun <R, E, A> constWithError(effect: Effect<R, E>, func: (R) -> Out<E, A>): Nee<R, E, A>
abstract fun <B> flatMap(f: (A) -> Nee<R, E, B>): Nee<R, E, B>
fun <R, E, A, E1 : E> flatOut(f: Nee<R, E, Out<E1, A>>): <ERROR CLASS>
abstract fun <B> map(f: (A) -> B): Nee<R, E, B>
abstract fun perform(env: R): Out<E, A>
fun <R, E, A> pure(a: A): Nee<R, E, A>
fun <R, E, A> with(effect: Effect<R, E>, func: (R) -> A): Nee<R, E, A>
fun <R, E, A> withError(effect: Effect<R, E>, func: (R) -> Out<E, A>): Nee<R, E, A>
class NoEffect<R, E> : Effect<R, E>
sealed class Out<E, out A>
Module Contents
abstract fun <B> flatMap(f: (A) -> Out<E, B>): Out<E, B>
fun <E, A> fromFuture(future: Future<Either<E, A>>): Out<E, A>
fun <E, A> left(e: E): Out<E, A>
abstract fun <B> map(f: (A) -> B): Out<E, B>
abstract fun <E1> mapLeft(f: (E) -> E1): Out<E1, A>
abstract fun onComplete(f: (Either<E, out A>) -> Unit): Unit
fun <E, A> right(a: A): Out<E, A>
fun <E, A> right(future: Future<A>): Out<E, A>
abstract fun toFuture(): Future<out Either<E, out A>>
data class ResourceId<T : Any>
class SecuredRunEffect<USER, ROLE, R : SecurityProvider<USER, ROLE>> : Effect<R, SecurityError>
interface SecurityCtx<USER, ROLE>
interface SecurityError
sealed class SecurityErrorType : SecurityError
interface SecurityProvider<USER, ROLE>
data class SimpleBufferedLogger : Logger<SimpleBufferedLogger>
class SimpleTraceProvider : TraceProvider<SimpleTraceProvider>
class SyncExecutionContext : ExecutionContext
interface TimeProvider
class TraceEffect<R : TraceProvider<R>> : Effect<R, Nothing>
data class TraceEntry
interface TraceProvider<G : TraceProvider<G>>
class TraceResource
interface TxConnection<R> : Closeable
class TxEffect<DB, R : TxProvider<DB, R>> : Effect<R, TxError>, Logging
interface TxError
sealed class TxErrorType : TxError
interface TxProvider<R, G : TxProvider<R, G>>
interface TxStarted<R> : TxConnection<R>
data class WrappedEnv<Y : Any> : FlexibleEnv
package dev.neeffect.nee
Module Contents
fun <R1, E1, R2 : R1, E2> Effect<R2, E2>.andThen(otherEffect: Effect<R1, E1>): Effect<R2, Either<E1, E2>>
typealias ANee<R, A> = Nee<R, Any, A>
fun <R, E> Effect<R, E>.anyError(): Effect<R, Any>
interface Effect<R, E>
class Effects<R1, R2 : R1, E1, E2> : Effect<R2, Either<E1, E2>>
Module Contents
Effects(inner: Effect<R1, E1>, outer: Effect<R2, E2>)
fun <R1, R2 : R1, E1, E2> combine(outer: Effect<R1, E1>, inner: Effect<R2, E2>): Effect<R2, Either<E1, E2>>
fun <A> wrap(f: (R2) -> A): (R2) -> Pair<Out<Either<E1, E2>, A>, R2>
class HandleErrorEffect<R, E, E1> : Effect<R, E1>
sealed class Nee<R, E, out A>
Module Contents
fun anyError(): ANee<R, A>
fun <R, E, A : Any> constR(effect: Effect<R, E>, value: A): Nee<R, E, A>
fun <R, E, A> constWithError(effect: Effect<R, E>, func: (R) -> Out<E, A>): Nee<R, E, A>
abstract fun <B> flatMap(f: (A) -> Nee<R, E, B>): Nee<R, E, B>
fun <R, E, A, E1 : E> flatOut(f: Nee<R, E, Out<E1, A>>): <ERROR CLASS>
abstract fun <B> map(f: (A) -> B): Nee<R, E, B>
abstract fun perform(env: R): Out<E, A>
fun <R, E, A> pure(a: A): Nee<R, E, A>
fun <R, E, A> with(effect: Effect<R, E>, func: (R) -> A): Nee<R, E, A>
fun <R, E, A> withError(effect: Effect<R, E>, func: (R) -> Out<E, A>): Nee<R, E, A>
class NoEffect<R, E> : Effect<R, E>
fun <R, E> noEffect(): NoEffect<R, E>
operator fun <R1, E1, R2 : R1, E2 : E1> Effect<R2, E2>.plus(otherEffect: Effect<R1, E1>): Effect<R2, E1>
infix fun <R1, E1, R2 : R1, E2> Effect<R2, E2>.then(otherEffect: Effect<R1, E1>): Effect<R2, Either<E1, E2>>
infix fun <R1, E1, R2 : R1, E2 : E1> Effect<R2, E2>.with(otherEffect: Effect<R1, E1>): Effect<R2, E1>
package dev.neeffect.nee.effects
Module Contents
sealed class Out<E, out A>
Module Contents
abstract fun <B> flatMap(f: (A) -> Out<E, B>): Out<E, B>
fun <E, A> fromFuture(future: Future<Either<E, A>>): Out<E, A>
fun <E, A> left(e: E): Out<E, A>
abstract fun <B> map(f: (A) -> B): Out<E, B>
abstract fun <E1> mapLeft(f: (E) -> E1): Out<E1, A>
abstract fun onComplete(f: (Either<E, out A>) -> Unit): Unit
fun <E, A> right(a: A): Out<E, A>
fun <E, A> right(future: Future<A>): Out<E, A>
abstract fun toFuture(): Future<out Either<E, out A>>
package dev.neeffect.nee.effects.async
package dev.neeffect.nee.effects.cache
package dev.neeffect.nee.effects.env
package dev.neeffect.nee.effects.monitoring
package dev.neeffect.nee.effects.security
Module Contents
class FlexSecEffect<USER, ROLE> : Effect<FlexibleEnv, SecurityError>
class FlexSecurityProvider<USER, ROLE> : FlexibleEnv, SecurityProvider<USER, ROLE>
class SecuredRunEffect<USER, ROLE, R : SecurityProvider<USER, ROLE>> : Effect<R, SecurityError>
interface SecurityCtx<USER, ROLE>
interface SecurityError
sealed class SecurityErrorType : SecurityError
interface SecurityProvider<USER, ROLE>
package dev.neeffect.nee.effects.test
package dev.neeffect.nee.effects.time
package dev.neeffect.nee.effects.tx
Module Contents
class FlexTxEffect<R> : Effect<FlexibleEnv, TxError>
kotlin.Function1
interface TxConnection<R> : Closeable
class TxEffect<DB, R : TxProvider<DB, R>> : Effect<R, TxError>, Logging
interface TxError
sealed class TxErrorType : TxError
interface TxProvider<R, G : TxProvider<R, G>>
interface TxStarted<R> : TxConnection<R>
fun <R, G : TxProvider<R, G>> FlexibleEnv.withTxProvider(provider: TxProvider<R, G>): FlexibleEnv
package dev.neeffect.nee.effects.utils
Module Contents
fun invalid(): Nothing
io.vavr.control.Either
fun <reified T : Logging> T.logger(): Logger
interface Logging
fun <ENV, A, B, R> tupled(f: (ENV) -> (A, B) -> R): (ENV) -> (Tuple2<A, B>) -> R
fun <ENV, A, B, R> tupled2(f: (ENV) -> (A, B) -> R): (ENV) -> (Tuple2<A, B>) -> R
fun <ENV, A, B, C, R> tupled3(f: (ENV) -> (A, B, C) -> R): (ENV) -> (Tuple3<A, B, C>) -> R