Skip to content

Latest commit

 

History

History

sorted

npm version Deno

Licence

@rimbu/sorted

Welcome to @rimbu/sorted! This package provides robust implementations for SortedMap and SortedSet, forming the foundation of all Rimbu Sorted collections. These collections use a configurable Comp instance to determine the equality and order of values/objects, ensuring efficient and reliable data management.

Key Features:

  • Sorted Collections: Maintain elements in a sorted order based on a configurable comparator.
  • Efficient Lookups: Optimized for fast retrieval and manipulation of data.
  • Flexible Configurations: Customize how elements are compared and ordered.

Exported 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.

Documentation

For complete documentation, please visit the Map or Set pages in the Rimbu Docs, or directly explore the Rimbu Sorted API Docs.

Try It Out

Experience @rimbu/sorted in action! Try Out Rimbu on CodeSandBox.

Installation

Compabitity

Package Managers

Yarn:

yarn add @rimbu/sorted

npm:

npm install @rimbu/sorted

Bun:

bun add @rimbu/sorted

Deno Setup

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

Usage

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

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

Author

Created and maintained by Arvid Nicolaas.

Contributing

We welcome contributions! Please read our Contributing guide.

Contributors

Made with contributors-img.

License

This project is licensed under the MIT License. See the LICENSE for details.