# extendable-immutable

> Wraps around Immutable.js to turn it inheritable

Latest version **1.3.3** (published 2017-05-18) · CC0-1.0 license · 0 weekly downloads

## Install

```sh
npm install extendable-immutable
pnpm add extendable-immutable
yarn add extendable-immutable
bun add extendable-immutable
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.3.3 |
| Published | 2017-05-18 |
| First published | 2016-08-01 |
| Weekly downloads | 0 |
| License | CC0-1.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >= 0.12.0 |
| Dependencies | 1 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 57 |
| Author | Phil Plückthun |
| Maintainers | philplckthun |
| Keywords | immutable, extendable, inheritable, map, list, data |

## Links

- npm: https://www.npmjs.com/package/extendable-immutable
- Repository: https://github.com/philpl/extendable-immutable
- Homepage: https://github.com/philpl/extendable-immutable#readme
- Issues: https://github.com/philplckthun/extendable-immutable/issues
- npm.io page: https://npm.io/package/extendable-immutable

## Dependencies (1)

- [invariant](https://npm.io/package/invariant.md) ^2.2.1

## Alternatives

- [@lexical/table](https://npm.io/package/@lexical/table.md) — 3.0M weekly downloads
- [mantine-datatable](https://npm.io/package/mantine-datatable.md) — 98.2K weekly downloads
- [react-native-collapsible-tab-view](https://npm.io/package/react-native-collapsible-tab-view.md) — 70.6K weekly downloads
- [@handsontable/vue3](https://npm.io/package/@handsontable/vue3.md) — 16.1K weekly downloads
- [vuewordcloud](https://npm.io/package/vuewordcloud.md) — 7.2K weekly downloads

## Recent versions

- 1.3.3 (latest) — 2017-05-18
- 1.3.2 — 2017-02-09
- 1.3.1 — 2017-02-06
- 1.3.0 — 2016-09-29
- 1.2.1 — 2016-09-22
- 1.2.0 — 2016-09-21
- 1.1.1 — 2016-09-21
- 1.1.0 — 2016-09-19
- 1.0.13 — 2016-08-26
- 1.0.12 — 2016-08-19
- 1.0.11 — 2016-08-17
- 1.0.10 — 2016-08-17
- 1.0.9 — 2016-08-17
- 1.0.8 — 2016-08-10
- 1.0.7 — 2016-08-10
- … 7 more at https://npm.io/package/extendable-immutable/versions

## README

<p align="center"><img src="https://raw.githubusercontent.com/philpl/extendable-immutable/master/docs/intro.gif" width=400></p>
<p align="center">
<strong>Wrapper classes around Immutable.js that turn it inheritable</strong>
<br><br>
<a href="https://travis-ci.org/philpl/extendable-immutable"><img src="https://img.shields.io/travis/philpl/extendable-immutable/master.svg"></a>
<a href="https://coveralls.io/github/philpl/extendable-immutable"><img src="https://img.shields.io/coveralls/philpl/extendable-immutable/master.svg"></a>
<a href="https://npmjs.com/package/extendable-immutable"><img src="https://img.shields.io/npm/dm/extendable-immutable.svg"></a>
<a href="https://npmjs.com/package/extendable-immutable"><img src="https://img.shields.io/npm/v/extendable-immutable.svg"></a>
</p>

# Extendable [Immutable.js](https://github.com/facebook/immutable-js/)

## About

Ever wished that you could have OrderedMaps, Maps or Lists with extra methods,
that make your life easier? `.ofCourse()`!

- Behaves like normal [Immutable.js](https://github.com/facebook/immutable-js/) data structures
- Doesn't break [Immutable.js'](https://github.com/facebook/immutable-js/) inheritance (*.is and instanceof still pass!)

## Getting Started

Installing the latest version via npm takes just a second:

```bash
npm install --save extendable-immutable
```

Import what you need:

```js
import { OrderedMap } from 'extendable-immutable'

class Collection extends OrderedMap {
// ...
```

## Quick Intro

```js
import { OrderedMap } from 'extendable-immutable'

class Collection extends OrderedMap {
  static isCollection(val) {
    return val && val instanceof Collection;
  }

  doMagic() {
    return this.map(x => x.set("magic", true));
  }
}

const magic = new Collection();

magic instanceof Immutable.OrderedMap; // true
Immutable.OrderedMap.isOrderedMap(magic); // true
```

---
_Source: https://npm.io/package/extendable-immutable · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
