returns the stream collected into an array (90% use-case abbreviation
returns an observable of the given stream
returns true if all elmements produce true on a call to fn(element)
returns true if there is at least one element where a call fn(element) produces true
Collect the elements with a collector given There are a number of collectors provided
returns the currently element selected in the stream
Iterate over all elements in the stream and do some processing via fn
takes a single element and if it returns false then further processing is stopped
true if additional data is present false if not
looks ahead cnt without changing the internal data "pointers" of the data source (this is mostly needed by possibly infinite constructs like lazy streams, because they do not know by definition their boundaries)
the elements to look ahead
either the element or ITERATION_STATUS.EO_STRM if we hit the end of the stream before finding the "cnt" element
returns the next element in the stream
returns true if no elmements produce true on a call to fn(element)
Perform the operation fn on a single element in the stream at a time then pass the stream over for further processing This is basically an intermediate point in the stream with further processing happening later, do not use this method to gather data or iterate over all date for processing (for the second case each has to be used)
the processing function, if it returns false, further processing is stopped
functional reduce... takes two elements in the stream and reduces to one from left to right
the reduction function for instance (val1,val2) => val1l+val2
an optional starting value, if provided the the processing starts with this element and further goes down into the stream, if not, then the first two elements are taken as reduction starting point
resets the position to the beginning
StaticofStaticofStaticofStaticofStaticofStaticof
A simple typescript based reimplementation of streams
This is the early eval version for a lazy eval version check, LazyStream, which is api compatible to this implementation, however with the benefit of being able to provide infinite data sources and generic data providers, the downside is, it might be a tad slower in some situations