immutable-recursive
Extra functions for use with Immutable.js to better handle tree structures, nested data and recursive iteration.
Completely pre-alpha at this point, won't be long until this is ready for public. Hold on to your hats, anything could change in the near future.
Development tasks
Function | Plan | Write | Tests | Document | Examples |
---|---|---|---|---|---|
deepGet | Done | Done | |||
deepGetChildren | Done | Done | |||
deepSet | Done | Done | |||
deepSetChildren | Done | Done | |||
deepUpdate | |||||
deepUpdateChildren | |||||
deepDelete | Done | ||||
deepDeleteChildren | Done | ||||
deepDeleteCollapse | In progress | ||||
deepMap | Done | Done | In progress | ||
deepMapLeaves | Done | Done | In progress | ||
deepMapParents | Done | Done | In progress | ||
deepMapOutward | In progress | ||||
deepMapParentsOutward | In progress | ||||
deepReduce | In progress | ||||
deepFilter | In progress | ||||
deepFilterCollapse | In progress | ||||
deepFilterCollapse | In progress | ||||
deepSortBy | Done | In progress | |||
deconstruct | Done | In progress | |||
reconstruct | In progress | ||||
flatCollapse | |||||
flatPrune | |||||
asList | Done | Done | Done | Done | |
isLeaf | Done | Done | Done | Done | |
keysToPath | Done | Done | Done | Done | |
keysToPathChildren | Done | Done | Done | Done | |
isSiblingOf | Done | ||||
isParentOf | Done | ||||
isAncestorOf | Done | ||||
commonAncestorOf | |||||
inputFunction (typedef) | Done | N/A | N/A | Done | |
keys (typedef) | Done | N/A | N/A | In progress | |
childPath (typedef) | Done | N/A | N/A | In progress | |
mapper (typedef) | Done | N/A | N/A | In progress | |
updater (typedef) | Done | N/A | N/A | In progress | |
reducer (typedef) | Done | N/A | N/A | In progress | |
filter (typedef) | Done | N/A | N/A | In progress |
- Reconsider paramaters passed to mappers / updaters etc. and which children, parents or ancestors should be accessible
- Add a 'thinking in trees and nodes' style intro
- Add documentation about partially applied function benefits
- 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
- Change to minami, fix table styles on index page