NewtypeWrapped
Simple variant of Newtype that provides an apply
builder.
Such newtypes are meant for simple wrappers that don't do any validation.
Usage:
type FullName = FullName.Type
object FullName extends NewtypeWrapped[String]
// Initializing
val name: FullName = FullName("Alexandru Nedelcu")
// Extracting the value when a string is needed:
val nameStr: String = name.value
assert(nameStr === "Alexandru Nedelcu")
// We can pattern-match too:
name match {
case FullName(nameStr) =>
assert(nameStr === "Alexandru Nedelcu")
}
trait NewWrapped[Src]
class Newtype[Src]
trait NewtypeTrait[Src]
trait NewEncoding[Src]
class Object
trait Matchable
class Any
Type members
Inherited types
Value members
Inherited methods
Extensions
Inherited extensions
extension (self: Type)