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

Usage no npm install needed!

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



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 exports the following main types:

Name Description
Table<R, C, V> a generic Table with row keys R, column keys C, and values V
VariantTable<R, C, V> a type-variant Table with row keys R, column keys C, and values V

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


npm i @rimbu/table


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

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

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

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

Then import what you need from rimbu.ts:

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


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.