dev.atedeg.mdm.products

Type members

Classlikes

A type of cheese.

A type of cheese.

final case class Grams(n: PositiveNumber)

A weight in grams.

A weight in grams.

An ingredient that may be needed by a recipe to produce a type of cheese.

An ingredient that may be needed by a recipe to produce a type of cheese.

enum Product(val cheeseType: CheeseType, val weight: Grams)

A type of cheese with its respective weight.

A type of cheese with its respective weight.

Companion:
object
object Product
Companion:
class

Types

type CaciottaWeightsInGrams = (500, 1000)
type CasatellaWeightsInGrams = (300, 350, 800, 1000)
type OneOf[T <: Tuple] = T match { case t *: EmptyTuple => t case t *: ts => t | OneOf[ts] }
type RicottaWeightsInGrams = (350, 1800)
type SquacqueroneWeightsInGrams = (100, 250, 350, 800, 1000, 1500)
type StracchinoWeightsInGrams = (250, 1000)

Value members

Concrete methods

@SuppressWarnings(scala.Array.apply[java.lang.String]("scalafix:DisableSyntax.asInstanceOf")(scala.reflect.ClassTag.apply[java.lang.String](classOf[java.lang.String])))
inline def all[T <: Tuple]: NonEmptyList[OneOf[T]]

Concrete fields

val allCaciottaWeights: NonEmptyList[500 | 1000]
val allCasatellaWeights: NonEmptyList[300 | 350 | 800 | 1000]
val allRicottaWeights: NonEmptyList[350 | 1800]
val allSquacqueroneWeights: NonEmptyList[100 | 250 | 350 | 800 | 1000 | 1500]
val allStracchinoWeights: NonEmptyList[250 | 1000]