Constructor
new Step(get_maybe, updatedClone, construct)
- Source:
 
If standard logic for accessing data deeper in the conceptual structure is not adequate, an instance of this class may be passed as a step in a Lens, which will allow the Lens to have custom behavior.
Passing null for any of these functions will limit the functionality of
the lens: skipping either construct or updatedClone will prevent the lens
from constructing a missing container, skipping updatedClone will
additionally prevent the lens from modifying an existing container, and
skipping get_maybe will prevent retrieving or transforming values in
a subject.
Parameters:
| Name | Type | Description | 
|---|---|---|
get_maybe | 
            
            Step~Get_Maybe | Returns a Maybe value for the slot within the container it is passed.  | 
        
updatedClone | 
            
            Step~UpdatedClone | Takes the current container and a Maybe of this step's slot value, returning a minimally modified clone of the container such that get_maybe will return the value_maybe passed to this function.  | 
        
construct | 
            
            Step~Construct | Instantiate an empty container of the type this step navigates.  | 
        
Type Definitions
Construct()
- Source:
 
Returns:
The empty container type corresponding to this step
Get_Maybe(container) → {Maybe.<*>}
- Source:
 
Gets the value of this slot within the passed container, returning {} if
the slot does not exist.
Parameters:
| Name | Type | Description | 
|---|---|---|
container | 
            
            * | 
Returns:
A Maybe monad value for the represented slot within container
- Type
 - Maybe.<*>
 
UpdatedClone(container, value_maybe)
- Source:
 
Parameters:
| Name | Type | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
container | 
            
            * | |||||||||
value_maybe | 
            
            Maybe.<*> | 
                Properties
  | 
        
Returns:
The minimally modified clone of container