Skip to content

isabella232/object-ops

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

object-ops

Small lib for chainable, path-based operations in JavaScript Objects. An example:

import * objOps from 'object-ops'

const someObject = {
  keyOne: {
    deepKey: {
      deeperKey: 42
    }
  },
  keyTwo: 24
};

objOps(someObject)
  .move('keyOne.deepKey.deeperKey', 'keyOne.secretDeepKey')
  .remove('keyOne.deepKey')
  .transform('keyTwo', val => val + 18)

console.log(someObject)
// {
//    keyOne: {
//      secretDeepKey: 42
//    },
//    keyTwo: 42
// }

API

move(source, dest)

Moves the value at source path to the path at dest, creating it if it doesn't exist.

remove(...paths)

Removes any number of paths from the object.

transform(path, fun)

Calls fun with the value at path and sets the value that it returns.

clone()

Returns a new object, useful if you don't want to mutate the original.

Contributing

PRs and Issues are welcome, make sure to add unit tests :)

About

Small lib for chainable, path-based operations in JavaScript Objects.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%