DescriptorProtoLens

implicit class DescriptorProtoLens[UpperPB](_l: Lens[UpperPB, DescriptorProto]) extends ObjectLens[UpperPB, DescriptorProto]
class ObjectLens[UpperPB, DescriptorProto]
trait Lens[UpperPB, DescriptorProto]
trait Serializable
class Object
trait Matchable
class Any

Value members

Concrete methods

def enumType: Lens[UpperPB, Seq[EnumDescriptorProto]]
def extension: Lens[UpperPB, Seq[FieldDescriptorProto]]
def extensionRange: Lens[UpperPB, Seq[ExtensionRange]]
def field: Lens[UpperPB, Seq[FieldDescriptorProto]]
def name: Lens[UpperPB, String]
def nestedType: Lens[UpperPB, Seq[DescriptorProto]]
def oneofDecl: Lens[UpperPB, Seq[OneofDescriptorProto]]
def optionalName: Lens[UpperPB, Option[String]]
def optionalOptions: Lens[UpperPB, Option[MessageOptions]]
def options: Lens[UpperPB, MessageOptions]
def reservedName: Lens[UpperPB, Seq[String]]
def reservedRange: Lens[UpperPB, Seq[ReservedRange]]

Inherited methods

def :=(a: DescriptorProto): () => Container

alias to set

alias to set

Inherited from:
Lens
def compose[B](other: Lens[DescriptorProto, B]): Lens[Container, B]

Composes two lenses, this enables nesting.

Composes two lenses, this enables nesting.

If our field of type A has a sub-field of type B, then given a lens for it (other: Lens[A, B]) we can create a single lens from Container to B.

Inherited from:
Lens
def field[A](getter: DescriptorProto => A)(setter: (DescriptorProto, A) => DescriptorProto): Lens[U, A]

Creates a sub-lens

Creates a sub-lens

Inherited from:
ObjectLens
def field[A](lens: Lens[DescriptorProto, A]): Lens[U, A]

Creates a sub-lens

Creates a sub-lens

Inherited from:
ObjectLens
override def get(u: UpperPB): Container

get knows how to extract some field of type A from a container

get knows how to extract some field of type A from a container

Definition Classes
ObjectLens -> Lens
Inherited from:
ObjectLens
def modify(f: DescriptorProto => DescriptorProto): () => Container

Represent an update operator (like x.y += 1 )

Represent an update operator (like x.y += 1 )

Inherited from:
Lens
override def set(c: DescriptorProto): () => U

Represents an assignment operator.

Represents an assignment operator.

Given a value of type A, sets knows how to transform a container such that a is assigned to the field.

We must have get(set(a)(c)) == a

Definition Classes
ObjectLens -> Lens
Inherited from:
ObjectLens
def setIfDefined(aOpt: Option[DescriptorProto]): () => Container

Optional assignment.

Optional assignment.

Given a Some[A], assign the Some's value to the field. Given None, the container is unchanged.

Inherited from:
Lens
def update(ms: Lens[DescriptorProto, DescriptorProto] => () => DescriptorProto*): () => U
Inherited from:
ObjectLens
def zip[B](other: Lens[UpperPB, B]): Lens[Container, (A, B)]

Given two lenses with the same origin, returns a new lens that can mutate both values represented by both lenses through a tuple.

Given two lenses with the same origin, returns a new lens that can mutate both values represented by both lenses through a tuple.

Inherited from:
Lens