README.md

# Erlang Generized Data Structure Library

*Everyone has to reinvent this wheel, here's my version*

A simple library for doing common things with common Erlang data structures (proplists, dicts, and maps for now). all with the same function calls. These all follow certain conventions:

  * Calls are short (`ds:get` instead of `proplists:get_value` or `lists:keyfind`).
  * Perform inline actions with some standardized procedures for common things (e.g. `ds:atomize(Obj, [key1, key2])` converts the values of the associated keys `key1` and `key2` into atoms and returns the new Object
  * Filtering Keys (`ds:keep(Obj, [good_key, other_good_key])` removes all keys from the Object that aren't missing. The reverse of this is `ds:delete_list(Obj, [bad_key, other_bad_key])`
  * Merging objects
  * Provides a helper for sorting lists of objects
  * All functions will return the same object type as was passed in. So if `Obj` is a proplist, it will return a proplist. If `Obj` is a map, it will return a map, etc.

More documentation to come

## Add to your rebar.config's deps section

```erlang
{deps, [
	erlang_ds
]}.
```

## About

Author: [Jesse Gumm](http://github.com/choptastic)

MIT License