The context that the cursor is available in.
The context that the cursor is available in.
The type class including the operations needed for withFocusM
.
The type class including the operations needed for withFocusM
.
The type returned by navigation and modifications operations.
The type returned by navigation and modifications operations.
Return the current context of the focus.
Delete the focus and move to its parent.
Delete the focus and move to its parent.
Delete the focus and move to the sibling with the given key in a JSON object.
Delete the focus and move to the sibling with the given key in a JSON object.
Delete the focus and move to the first element in a JSON array.
Delete the focus and move to the first element in a JSON array.
Delete the focus and move to the last element in a JSON array.
Delete the focus and move to the last element in a JSON array.
Delete the focus and move to the left in a JSON array.
Delete the focus and move to the left in a JSON array.
Delete the focus and move to the right in a JSON array.
Delete the focus and move to the right in a JSON array.
Delete all values to the left of the focus in a JSON array.
Delete all values to the left of the focus in a JSON array.
Delete all values to the right of the focus in a JSON array.
Delete all values to the right of the focus in a JSON array.
If the focus is a value in a JSON object, move to a sibling with the given key.
If the focus is a value in a JSON object, move to a sibling with the given key.
If the focus is an element in a JSON array, move to the first element.
If the focus is an element in a JSON array, move to the first element.
The current location in the document.
The current location in the document.
If the focus is an element in a JSON array, move to the last element.
If the focus is an element in a JSON array, move to the last element.
If the focus is an element in a JSON array, move to the left.
If the focus is an element in a JSON array, move to the left.
If the focus is a JSON array, return the elements to the left.
If the focus is a JSON array, return the elements to the left.
If the focus is an element in a JSON array, move to the right.
If the focus is an element in a JSON array, move to the right.
If the focus is a JSON array, return the elements to the right.
If the focus is a JSON array, return the elements to the right.
Replace all values to the left of the focus in a JSON array.
Replace all values to the left of the focus in a JSON array.
Replace all values to the right of the focus in a JSON array.
Replace all values to the right of the focus in a JSON array.
Move the focus to the parent.
Move the focus to the parent.
Modify the focus using the given function.
Modify the focus using the given function.
Modify the focus in a context using the given function.
Modify the focus in a context using the given function.
Attempt to decode the focus as an A
.
Attempt to decode the focus as an A
.
If the focus is a JSON array, move to its first element.
If the focus is a JSON array, move to its first element.
If the focus is a JSON array, move to the first element that satisfies the given predicate.
If the focus is a JSON array, move to the first element that satisfies the given predicate.
If the focus is a JSON object, move to the value of the given key.
If the focus is a JSON object, move to the value of the given key.
If the focus is a JSON array, move to the element at the given index.
If the focus is a JSON array, move to the element at the given index.
If the focus is a JSON object, return its field names in a set.
If the focus is a JSON object, return its field names in a set.
If the focus is a JSON object, return its field names in their original order.
If the focus is a JSON object, return its field names in their original order.
If the focus is an element in a JSON array, find the first element at or to its right that matches the given predicate.
If the focus is an element in a JSON array, find the first element at or to its right that matches the given predicate.
Attempt to decode the value at the given key in a JSON object as an A
.
Attempt to decode the value at the given key in a JSON object as an A
.
Attempt to decode the value at the given key in a JSON object as an A
.
Attempt to decode the value at the given key in a JSON object as an A
.
If the field k
is missing, then use the fallback
instead.
If the focus is an element in a JSON array, move to the left until the given predicate matches the new focus.
If the focus is an element in a JSON array, move to the left until the given predicate matches the new focus.
If the focus is an element in JSON array, move to the left the given number of times.
If the focus is an element in JSON array, move to the left the given number of times.
A negative value will move the cursor right.
Replay history (a list of operations in reverse "chronological" order) against this cursor.
Replay history (a list of operations in reverse "chronological" order) against this cursor.
If the focus is an element in a JSON array, move to the right until the given predicate matches the new focus.
If the focus is an element in a JSON array, move to the right until the given predicate matches the new focus.
If the focus is an element in JSON array, move to the right the given number of times.
If the focus is an element in JSON array, move to the right the given number of times.
A negative value will move the cursor left.
Replace the focus.
Replace the focus.
Return to the root of the document.
Return to the root of the document.
A zipper that represents a position in a JSON value and supports navigation around the JSON value.
The
focus
represents the current position of the cursor; it may be updated withwithFocus
or changed using the navigation methodsleft
,right
, etc.GenericCursor