0.0.8 • Published 9 years ago
immutable-recursive v0.0.8
immutable-recursive
Extra functions for use with Immutable.js to better handle tree structures, nested data and recursive iteration.
Warning
While I anticipate this library will be very stable once release, it is completely in development / pre-alpha at this point. Won't be long until this is ready for public though. Hold on to your hats, anything could change in the near future.
Development tasks
| Function | Plan | Write | Tests | Document | Examples |
|---|---|---|---|---|---|
| deepGet | Done | Done | Done | Done | |
| deepGetChildren | Done | Done | Done | Done | |
| deepSet | Done | Done | Done | Done | |
| deepSetChildren | Done | Done | Done | Done | |
| deepUpdate | Done | Done | Done | Done | |
| deepUpdateChildren | Done | Done | Done | Done | |
| deepDelete | Done | Done | Done | Done | |
| deepDeleteChildren | Done | Done | Done | Done | |
| deepDeleteCollapse | In progress | ||||
| deepMap | Done | Done | Done | In progress | |
| deepMapLeaves | Done | Done | Done | Done | |
| deepMapParents | Done | Done | Done | Done | |
| deepMapOutward | Done | Done | Done | Done | |
| deepMapLeavesOutwards | Done | Done | Done | Done | |
| deepMapParentsOutwards | Done | Done | Done | Done | |
| deepReduce | Done | Done | Done | Done | |
| deepReduceLeaves | Done | Done | Done | Done | |
| deepReduceParents | Done | Done | Done | Done | |
| deepReduceOutward | Done | Done | Done | Done | |
| deepReduceLeavesOutwards | Done | Done | Done | Done | |
| deepReduceParentsOutwards | Done | Done | Done | Done | |
| deepFilter | Done | Done | Done | Done | |
| deepFilterCollapse | In progress | ||||
| deepPick | Done | Done | Done | Done | |
| deconstruct | Done | In progress | |||
| reconstruct | In progress | ||||
| asList | Done | Done | Done | Done | Done |
| blankNode | Done | Done | Done | Done | |
| nodePathToKeys | Done | Done | Done | Done | Done |
| nodePathToKeysChildren | Done | Done | Done | Done | Done |
| isLeaf | Done | Done | Done | Done | Done |
| isRoot | In progress | ||||
| pick | Done | Done | Done | Done | Done |
| isSiblingOf | Done | ||||
| isParentOf | Done | ||||
| isAncestorOf | Done | ||||
| getChildren | In progress | ||||
| setChildren | In progress | ||||
| updateChildren | In progress | ||||
| filterChildren | In progress | ||||
| deleteChildren | In progress | ||||
| getCommonAncestor | In progress |
Also need something to iterate starting from a child iterable with no root node
| Typedef | Plan | Document | Examples |
|---|---|---|---|
| InputFunction | Done | Done | Done |
| NodePath | Done | Done | Done |
| ChildPath | Done | Done | Done |
| mapper | Done | Done | |
| updater | Done | Done | |
| reducer | Done | Done | |
| filter | Done | Done |
- Show reverse() or sortBy() examples when using deeply
- Try adding @externals for JS and Immutable, try grouping under different modules
- Allow functions to be passsed into ChildPath and modify all affected library functions so they can use it
- Add a 'thinking in trees and nodes' style intro
- Add documentation about deep data manipulation pitfalls, avoiding killing children
- Add build process with Travis
- Add coverage reporting and build failing
- Add shields for tests, version numbers, coverage
- Fix table styles on index page, remove horrible purple colour