Skip to main content

What's New in MarkLogic 11

JavaScript: ValueIterator Replaced By Sequence

The ValueIterator interface used to represent sequences of value in MarkLogic 8 has been replaced by the new Sequence interface. A Sequence is a JavaScript Iterable object. All functions which previously operated on or returned a ValueIterator now use a Sequence instead.

In many cases, this change is transparent to your code. However, code that depends on the following ValueIterator properties and methods must be changed:

  • ValueIterator.next - Use a for..of loop to iterate over a Sequence. Use fn.head if you just want to pick off the first or only value in a Sequence.

  • ValueIterator.count - Use fn.count instead.

  • ValueIterator.clone - No longer needed. You can iterate over the same Sequence multiple times.

For more details, see Sequence in the JavaScript Reference Guide and Sequence in the MarkLogic Server-Side JavaScript Function Reference.