Skip to main content
Module

x/rimbu/sorted/README.md

Rimbu is a TypeScript library focused on immutable, performant, and type-safe collections and other tools.
Go to Latest
File

@rimbu/sorted

This package contains the implementation for the SortedMap and SortedSet types, which form the basis of all Rimbu Sorted collections. The collections use a Comp instance that is configurable to determine the equality and order of values/objects.

This package exports the following types:

Name Description
SortedMap<K, V> a map with entries of key type K and value type V, where keys are sorted with a Comp
SortedSet<T> a set of value type T where items are sorted with a Comp

For complete documentation please visit the Rimbu Docs.

Or Try Me Out 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/sorted

or

npm i @rimbu/sorted

Deno

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

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

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

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

Then import what you need from rimbu.ts:

import { SortedMap } 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

Rimbu uses advanced and recursive typing, potentially making the TypeScript compiler quite slow in some cases, or causing infinite recursion. It is recommended to set the following values in the tsconfig.json file of your project:

{
  "compilerOptions": {
    "skipLibCheck": true,
    "noStrictGenericChecks": true
  }
}

Usage

import { SortedSet } from '@rimbu/sorted';

console.log(SortedSet.of(1, 3, 4, 2, 3).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.