immutable 4.0.0-rc.14 → 4.0.0-rc.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +80 -20
- package/dist/immutable.d.ts +246 -224
- package/dist/immutable.es.js +56 -21
- package/dist/immutable.js +56 -21
- package/dist/immutable.js.flow +14 -7
- package/dist/immutable.min.js +32 -32
- package/package.json +3 -5
- package/dist/immutable-nonambient.d.ts +0 -5607
package/README.md
CHANGED
|
@@ -2,6 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://github.com/immutable-js/immutable-js/actions/workflows/ci.yml?query=branch%3Amain) [Chat on slack](https://immutable-js.slack.com)
|
|
4
4
|
|
|
5
|
+
[Read the docs](https://immutable-js.com) and eat your vegetables.
|
|
6
|
+
|
|
7
|
+
Docs are automatically generated from [README.md][] and [immutable.d.ts][].
|
|
8
|
+
Please contribute! Also, don't miss the [wiki][] which contains articles on
|
|
9
|
+
additional specific topics. Can't find something? Open an [issue][].
|
|
10
|
+
|
|
11
|
+
**Table of contents:**
|
|
12
|
+
|
|
13
|
+
- [Introduction](#introduction)
|
|
14
|
+
- [Getting started](#getting-started)
|
|
15
|
+
- [The case for Immutability](#the-case-for-immutability)
|
|
16
|
+
- [JavaScript-first API](#javaScript-first-api)
|
|
17
|
+
- [Nested Structures](#nested-structures)
|
|
18
|
+
- [Equality treats Collections as Values](#equality-treats-collections-as-values)
|
|
19
|
+
- [Batching Mutations](#batching-mutations)
|
|
20
|
+
- [Lazy Seq](#lazy-seq)
|
|
21
|
+
- [Additional Tools and Resources](#additional-tools-and-resources)
|
|
22
|
+
- [Contributing](#contributing)
|
|
23
|
+
|
|
24
|
+
## Introduction
|
|
25
|
+
|
|
5
26
|
[Immutable][] data cannot be changed once created, leading to much simpler
|
|
6
27
|
application development, no defensive copying, and enabling advanced memoization
|
|
7
28
|
and change detection techniques with simple logic. [Persistent][] data presents
|
|
@@ -23,6 +44,10 @@ Want to hear more? Watch the presentation about Immutable.js:
|
|
|
23
44
|
|
|
24
45
|
[](https://youtu.be/I7IdS-PbEgI)
|
|
25
46
|
|
|
47
|
+
[README.md]: https://github.com/immutable-js/immutable-js/blob/main/README.md
|
|
48
|
+
[immutable.d.ts]: https://github.com/immutable-js/immutable-js/blob/main/type-definitions/immutable.d.ts
|
|
49
|
+
[wiki]: https://github.com/immutable-js/immutable-js/wiki
|
|
50
|
+
[issue]: https://github.com/immutable-js/immutable-js/issues
|
|
26
51
|
[Persistent]: https://en.wikipedia.org/wiki/Persistent_data_structure
|
|
27
52
|
[Immutable]: https://en.wikipedia.org/wiki/Immutable_object
|
|
28
53
|
[hash maps tries]: https://en.wikipedia.org/wiki/Hash_array_mapped_trie
|
|
@@ -123,7 +148,7 @@ via relative path to the type definitions at the top of your file.
|
|
|
123
148
|
|
|
124
149
|
```js
|
|
125
150
|
///<reference path='./node_modules/immutable/dist/immutable.d.ts'/>
|
|
126
|
-
import Immutable from
|
|
151
|
+
import Immutable from 'immutable';
|
|
127
152
|
var map1: Immutable.Map<string, number>;
|
|
128
153
|
map1 = Immutable.Map({ a: 1, b: 2, c: 3 });
|
|
129
154
|
var map2 = map1.set('b', 50);
|
|
@@ -612,25 +637,62 @@ Range(1, Infinity)
|
|
|
612
637
|
// 1006008
|
|
613
638
|
```
|
|
614
639
|
|
|
615
|
-
##
|
|
640
|
+
## Additional Tools and Resources
|
|
616
641
|
|
|
617
|
-
|
|
642
|
+
- [Atom-store](https://github.com/jameshopkins/atom-store/)
|
|
643
|
+
- A Clojure-inspired atom implementation in Javascript with configurability
|
|
644
|
+
for external persistance.
|
|
618
645
|
|
|
619
|
-
[
|
|
646
|
+
- [Chai Immutable](https://github.com/astorije/chai-immutable)
|
|
647
|
+
- If you are using the [Chai Assertion Library](https://chaijs.com/), this
|
|
648
|
+
provides a set of assertions to use against Immutable.js collections.
|
|
649
|
+
|
|
650
|
+
- [Fantasy-land](https://github.com/fantasyland/fantasy-land)
|
|
651
|
+
- Specification for interoperability of common algebraic structures in JavaScript.
|
|
652
|
+
|
|
653
|
+
- [Immutagen](https://github.com/pelotom/immutagen)
|
|
654
|
+
- A library for simulating immutable generators in JavaScript.
|
|
655
|
+
|
|
656
|
+
- [Immutable-cursor](https://github.com/redbadger/immutable-cursor)
|
|
657
|
+
- Immutable cursors incorporating the Immutable.js interface over
|
|
658
|
+
Clojure-inspired atom.
|
|
659
|
+
|
|
660
|
+
- [Immutable-ext](https://github.com/DrBoolean/immutable-ext)
|
|
661
|
+
- Fantasyland extensions for immutablejs
|
|
662
|
+
|
|
663
|
+
- [Immutable-js-tools](https://github.com/madeinfree/immutable-js-tools)
|
|
664
|
+
- Util tools for immutable.js
|
|
620
665
|
|
|
621
|
-
|
|
622
|
-
|
|
666
|
+
- [Immutable-Redux](https://github.com/gajus/redux-immutable)
|
|
667
|
+
- redux-immutable is used to create an equivalent function of Redux
|
|
668
|
+
combineReducers that works with Immutable.js state.
|
|
623
669
|
|
|
624
|
-
|
|
625
|
-
|
|
670
|
+
- [Immutable-Treeutils](https://github.com/lukasbuenger/immutable-treeutils)
|
|
671
|
+
- Functional tree traversal helpers for ImmutableJS data structures.
|
|
626
672
|
|
|
627
|
-
|
|
673
|
+
- [Irecord](https://github.com/ericelliott/irecord)
|
|
674
|
+
- An immutable store that exposes an RxJS observable. Great for React.
|
|
628
675
|
|
|
629
|
-
|
|
676
|
+
- [Mudash](https://github.com/brianneisler/mudash)
|
|
677
|
+
- Lodash wrapper providing Immutable.JS support.
|
|
630
678
|
|
|
631
|
-
|
|
679
|
+
- [React-Immutable-PropTypes](https://github.com/HurricaneJames/react-immutable-proptypes)
|
|
680
|
+
- PropType validators that work with Immutable.js.
|
|
632
681
|
|
|
633
|
-
|
|
682
|
+
- [Redux-Immutablejs](https://github.com/indexiatech/redux-immutablejs)
|
|
683
|
+
- Redux Immutable facilities.
|
|
684
|
+
|
|
685
|
+
- [Rxstate](https://github.com/yamalight/rxstate)
|
|
686
|
+
- Simple opinionated state management library based on RxJS and Immutable.js.
|
|
687
|
+
|
|
688
|
+
- [Transit-Immutable-js](https://github.com/glenjamin/transit-immutable-js)
|
|
689
|
+
- Transit serialisation for Immutable.js.
|
|
690
|
+
- See also: [Transit-js](https://github.com/cognitect/transit-js)
|
|
691
|
+
|
|
692
|
+
Have an additional tool designed to work with Immutable.js?
|
|
693
|
+
Submit a PR to add it to this list in alphabetical order.
|
|
694
|
+
|
|
695
|
+
## Contributing
|
|
634
696
|
|
|
635
697
|
Use [Github issues](https://github.com/immutable-js/immutable-js/issues) for requests.
|
|
636
698
|
|
|
@@ -638,20 +700,18 @@ We actively welcome pull requests, learn how to [contribute](https://github.com/
|
|
|
638
700
|
|
|
639
701
|
Immutable.js is maintained within the [Contributor Covenant's Code of Conduct](https://www.contributor-covenant.org/version/2/0/code_of_conduct/).
|
|
640
702
|
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
## Changelog
|
|
703
|
+
### Changelog
|
|
644
704
|
|
|
645
705
|
Changes are tracked as [Github releases](https://github.com/immutable-js/immutable-js/releases).
|
|
646
706
|
|
|
647
|
-
|
|
707
|
+
### License
|
|
708
|
+
|
|
709
|
+
Immutable.js is [MIT-licensed](./LICENSE).
|
|
710
|
+
|
|
711
|
+
### Thanks
|
|
648
712
|
|
|
649
713
|
[Phil Bagwell](https://www.youtube.com/watch?v=K2NYwP90bNs), for his inspiration
|
|
650
714
|
and research in persistent data structures.
|
|
651
715
|
|
|
652
716
|
[Hugh Jackson](https://github.com/hughfdjackson/), for providing the npm package
|
|
653
717
|
name. If you're looking for his unsupported package, see [this repository](https://github.com/hughfdjackson/immutable).
|
|
654
|
-
|
|
655
|
-
## License
|
|
656
|
-
|
|
657
|
-
Immutable.js is [MIT-licensed](./LICENSE).
|