optics library

Classes

AffineTraversal<Source, Focus, Through extends Focus?, Resolution>
An affine traversal is an optic that represents a path through potentially nullable intermediate values.
Iso<Source, Focus>
An isomorphism (Iso) is an optic representing a lossless, bidirectional conversion between two types.
Lens<Source, Focus>
A lens is an optic that focuses on a non-nullable field within a data structure.
Optical<Source, Focus>
The base type for all optics in this library.
Prism<Source, Focus>
A prism is an optic that focuses on a nullable or optional field.
SourceBinding<Source, Focus>
A binding that combines a source value with an optic focused on it.

Extensions

ObjectIso on Source
Extension to create an identity isomorphism from any value.

Typedefs

Accessor<Source, Focus> = Focus Function(Source source)
A function that retrieves a Focus value from a Source value.
AnyOptical = Optical
Type alias for optics with dynamic source and focus types.
Mutator<Source, Focus> = Source Function(Source source, Focus value)
A function that produces a new Source value with an updated Focus value.