immutable-recursive

MIT licensed github-issues

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.

Preliminary documentation

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