UNPKG

@rimbu/base

Version:

Utilities to implement Rimbu collections

107 lines (67 loc) 2.79 kB
<p align="center"> <img src="https://github.com/rimbu-org/rimbu/raw/main/assets/rimbu_logo.svg" /> </p> [![npm version](https://badge.fury.io/js/@rimbu%2Fbase.svg)](https://www.npmjs.com/package/@rimbu/base) [![Deno](https://shield.deno.dev/x/rimbu)](http://deno.land/x/rimbu) ![Licence](https://img.shields.io/github/license/rimbu-org/rimbu) # @rimbu/base This package contains mostly utilities to implement the other Rimbu collections. The types are not exported by any of the other packages, but are internally used by most of them. Most important are the exported `Arr` methods that are used at the basis of all the block-based data structures. These methods should be as correct and efficient as possible. For complete documentation please visit the _[Rimbu Docs](https://rimbu.org)_ or the _[Rimbu API Docs](https://rimbu.org/api)_ ## Installation ### Compabitity - [`Node` ![NodeJS](https://img.shields.io/badge/node.js-6DA55F?logo=node.js&logoColor=white)](https://nodejs.org) - [`Deno` ![Deno JS](https://img.shields.io/badge/deno%20js-000000?logo=deno&logoColor=white)](https://deno.com/runtime) - [`Bun` ![Bun](https://img.shields.io/badge/Bun-%23000000.svg?logoColor=white)](https://bun.sh/) - `Web` ![HTML5](https://img.shields.io/badge/html5-%23E34F26.svg?logoColor=white) ### Package Managers **Yarn:** ```sh yarn add @rimbu/base ``` **npm:** ```sh npm install @rimbu/base ``` **Bun:** ```sh bun add @rimbu/base ``` ### Deno Setup Create or edit `import_map.json` in your project root: ```json { "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: ```ts 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: ```ts 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 ```ts import { Arr } from '@rimbu/base'; const arr = [1, 2, 3]; console.log(Arr.mod(arr, 1, (v) => v + 1)); // [1, 3, 3] console.log(arr); // [1, 2, 3] ``` ## Author Created and maintained by [Arvid Nicolaas](https://github.com/vitoke). ## Contributing We welcome contributions! Please read our [Contributing guide](https://github.com/rimbu-org/rimbu/blob/main/CONTRIBUTING.md). ## Contributors <img src = "https://contrib.rocks/image?repo=rimbu-org/rimbu"/> _Made with [contributors-img](https://contrib.rocks)._ ## License This project is licensed under the MIT License. See the [LICENSE](./LICENSE) for details.