Calc

neotype.Calc
See theCalc companion object
enum Calc[A]

Attributes

Companion:
object
Graph
Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Known subtypes
case EqualTo[A, B]
case GreaterThan[A]
case LessThan[A]
case And
case Or
case Not
case Add[Num]
case ToDouble[Num]
case Length
case ToUpper
case ToLower
case WithMessage[A]
case Block[A]
case Reference[A]

Members list

Concise view

Type members

Enum entries

final case class Add[Num](lhs: Calc[Num], rhs: Calc[Num])(using numeric: Numeric[Num]) extends Calc[Num]
final case class And(lhs: Calc[Boolean], rhs: Calc[Boolean]) extends Calc[Boolean]
final case class Block[A](defs: List[CalcDef[_]], calc: Calc[A]) extends Calc[A]
final case class Constant[A](value: A)
final case class Contains(str: Calc[String], substr: Calc[String]) extends Calc[Boolean]
final case class EndsWith(str: Calc[String], suffix: Calc[String]) extends Calc[Boolean]
final case class EqualTo[A, B](lhs: Calc[A], rhs: Calc[B]) extends Calc[Boolean]
final case class GreaterThan[A](lhs: Calc[A], rhs: Calc[A])(using ordering: Ordering[A]) extends Calc[Boolean]
final case class GreaterThanOrEqual[A](lhs: Calc[A], rhs: Calc[A])(using ordering: Ordering[A]) extends Calc[Boolean]
final case class Length(str: Calc[String]) extends Calc[Int]
final case class LessThan[A](lhs: Calc[A], rhs: Calc[A])(using ordering: Ordering[A]) extends Calc[Boolean]
final case class LessThanOrEqual[A](lhs: Calc[A], rhs: Calc[A])(using ordering: Ordering[A]) extends Calc[Boolean]
final case class MatchesRegex(str: Calc[String], regex: Calc[String]) extends Calc[Boolean]
final case class Not(calc: Calc[Boolean]) extends Calc[Boolean]
final case class Or(lhs: Calc[Boolean], rhs: Calc[Boolean]) extends Calc[Boolean]
final case class Reference[A](name: String) extends Calc[A]
final case class RegexMatches(regex: Calc[Regex], str: Calc[String]) extends Calc[Boolean]
final case class StartsWith(str: Calc[String], prefix: Calc[String]) extends Calc[Boolean]
final case class StringApply(str: Calc[String], index: Calc[Int]) extends Calc[Char]
final case class StringIsEmpty(str: Calc[String]) extends Calc[Boolean]
final case class StringNonEmpty(str: Calc[String]) extends Calc[Boolean]
final case class StringTrim(str: Calc[String]) extends Calc[String]
final case class Substring(str: Calc[String], start: Calc[Int], end: Calc[Int]) extends Calc[String]
final case class ToDouble[Num](num: Calc[Num])(using numeric: Numeric[Num]) extends Calc[Double]
final case class ToLower(str: Calc[String]) extends Calc[String]
final case class ToUpper(str: Calc[String]) extends Calc[String]
final case class WithMessage[A](calc: Calc[A], message: String) extends Calc[A]