A flexible and configurable library to perform operations such as diff, merge, clone, etc recursively on JavaScript objects