Welcome to @rimbu/stream
! A Stream
is an Iterable-like structure that represents a source capable of streaming values upon request. The source can be a materialized object (e.g., an Array) or a calculated sequence (e.g., Fibonacci numbers). Unlike an Iterable, a Stream offers numerous methods to transform the values produced before consumption, without needing to materialize intermediate instances.
- Flexible Sources: Stream values from various sources, whether materialized or calculated.
- Transformation Methods: Modify the stream's values on-the-fly without creating intermediate objects.
- Efficient Iteration: Optimized for performance, providing faster iteration capabilities.
Name | Description |
---|---|
FastIterable<T> |
An Iterable that supports faster iterating than the Iterable type. |
FastIterator<T> |
An Iterator that supports faster iterating than the Iterator type. |
Stream<T> |
An Iterable-like structure that represents a source that can produce values of type T when requested. |
Streamable<T> |
An interface requiring that an object has a .stream() method. |
StreamSource<T> |
A convenience type that covers all types that can be automatically converted to a Stream . |
For complete documentation, please visit the Stream page in the Rimbu Docs, or directly explore the Rimbu Stream API Docs.
Experience @rimbu/stream
in action! Try Out Rimbu on CodeSandBox.
Yarn:
yarn add @rimbu/stream
npm:
npm install @rimbu/stream
Bun:
bun add @rimbu/stream
Create or edit import_map.json
in your project root:
{
"imports": {
"@rimbu/": "https://deno.land/x/rimbu@x.y.z/"
}
}
Replace x.y.z
with the desired version.
In this way you can use relative imports from Rimbu in your code, like so:
import { List } from '@rimbu/core/mod.ts';
import { HashMap } from '@rimbu/hashed/mod.ts';
Note that for sub-packages, due to conversion limitations it is needed to import the index.ts
instead of mod.ts
, like so:
import { HashMap } from '@rimbu/hashed/map/index.ts';
To run your script (let's assume the entry point is in src/main.ts
):
deno run --import-map import_map.json src/main.ts
import { Stream } from '@rimbu/stream';
console.log(Stream.range({ start: 10, amount: 15 }).toArray());
Created and maintained by Arvid Nicolaas.
We welcome contributions! Please read our Contributing guide.
Made with contributors-img.
This project is licensed under the MIT License. See the LICENSE for details.