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.
Create an ACursor for this cursor.
Attempt to decode the focus as an A
.
Attempt to decode the focus as an A
.
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 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.
Create a failed ACursor for this cursor.
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 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.
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.
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 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 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.
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 last operation was not successful, reattempt it.
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.
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 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.
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 the focus.
Replace the focus.
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.
Return to the root of the document.
Return to the root of the document.
Traverse taking op
at each step, performing f
on the current cursor and
accumulating A
.
Traverse taking op
at each step, performing f
on the current cursor and
accumulating A
.
This operation does not consume stack at each step, so is safe to work with large structures (in contrast with recursively binding).
Traverse taking op
at each step, performing f
on the current cursor and
accumulating A
.
Traverse taking op
at each step, performing f
on the current cursor and
accumulating A
.
This operation does not consume stack at each step, so is safe to work with large structures (in contrast with recursively binding).
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.
A cursor that tracks the history of operations performed with it.
GenericCursor