Interpreter

class Interpreter[F[_]](val functions: Map[String, DocumentedFunction[F]])(implicit F: MonadError[F, Throwable])

An interpreter is used in the context of the engine to evaluate the various expressions from the Matcher s and Transformation s.

Expressions are pure, and cannot perform any side effects. Applicable functions transform a string value into another one without access to any context.

Companion:
object
class Object
trait Matchable
class Any

Value members

Concrete methods

def eval(ctx: Ctx, row: CsvRow[String], value: Value): Option[String]

Evalutes the value within the row context. If it cannot be resolved (e.g. field does not exist or value doesn't exist in context), None is returned.

Evalutes the value within the row context. If it cannot be resolved (e.g. field does not exist or value doesn't exist in context), None is returned.

def eval(ctx: Ctx, row: CsvRow[String], e: Expr[F]): F[Option[String]]

Concrete fields

val functions: Map[String, DocumentedFunction[F]]