@rimbu/ordered

Immutable OrderedMap and OrderedSet implementations for TypeScript

Usage no npm install needed!

<script type="module">
  import rimbuOrdered from 'https://cdn.skypack.dev/@rimbu/ordered';
</script>

README

@rimbu/ordered

This packages contains an implementation of OrderedMap and OrderedSet, which are wrappers around other RMap and RSet implementations, and that add the capability to remember insertion order. Iterating over the collections will return the values in this insertion order.

This package exports the following types:

Name Description
OrderedMap<K, V> a map with entries of key type K and value type V, where key insertion order is maintained
OrderedSet<T> a set of value type T where insertion order is maintained

For complete documentation please visit the Map or Se page in the Rimbu Docs.

Or Try Out Rimbu in CodeSandBox.

Installation

All types are exported through @rimbu/core. It is recommended to use that package.

To install separately:

Yarn/NPM

yarn add @rimbu/ordered

or

npm i @rimbu/ordered

Deno

Create a file called rimbu.ts and add the following:

export * from 'https://deno.land/x/rimbu/ordered/mod.ts';

Or using a pinned version (x.y.z):

export * from 'https://deno.land/x/rimbu/ordered@x.y.z/mod.ts';

Then import what you need from rimbu.ts:

import { OrderedMap } from './rimbu.ts';

Because Rimbu uses complex types, it's recommended to use the --no-check flag (your editor should already have checked your code) and to specify a tsconfig.json file with the settings described below.

Running your script then becomes:

deno run --no-check --config tsconfig.json <your-script>.ts

Usage

import { OrderedSet } from '@rimbu/ordered';

console.log(OrderedSet.of(1, 3, 2, 3, 1).toString());

Author

Arvid Nicolaas

Contributing

Feel very welcome to contribute to further improve Rimbu. Please read our Contributing guide.

Contributors

Made with contributors-img.

License

Licensed under the MIT License, Copyright © 2020-present Arvid Nicolaas.

See LICENSE for more information.