Immutable spreadsheet-like data structures containing row keys, column keys, and cell values

Usage no npm install needed!

<script type="module">
  import rimbuTableSortedRow from 'https://cdn.skypack.dev/@rimbu/table-sorted-row';



A Table is an immutable 2-dimensional Map, containing row keys and column keys, where a combination of a row and column key can contain one value.

This package contains the sorted row implementations of Table. It was mainly split off from the @rimbu/table package to reduce build time and memory usage.

This package exports the following main types:

Name Description
SortedTableHashColumn<R, C, V> a Table where the row keys are sorted and the column keys are hashed
SortedTableSortedColumn<R, C, V> a Table where the row keys and column keys are sorted

For complete documentation please visit the Table page in the Rimbu Docs.

Or Try Out Rimbu in CodeSandBox.


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

To install separately:


yarn add @rimbu/table-sorted-row


npm i @rimbu/table-sorted-row


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

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

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

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

Then import what you need from rimbu.ts:

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


import { SortedTableSortedColumn } from '@rimbu/table-sorted-row';

  SortedTableSortedColumn.of([1, 'a', true], [1, 'b', false]).toString()


Arvid Nicolaas


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


Made with contributors-img.


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

See LICENSE for more information.