index.js
function setPathValue(obj, path, val) {
  var parsed = parsePath(path);
  internalSetPathValue(obj, val, parsed);
  return obj;
}
function setPathValue(obj, path, val) {
  var parsed = parsePath(path);
  internalSetPathValue(obj, val, parsed);
  return obj;
}
### .setPathValue(object, path, value)

Define the value in an object at a given string path.

```js
var obj = {
prop1: {
arr: ['a', 'b', 'c']
, str: 'Hello'
}
, prop2: {
arr: [ { nested: 'Universe' } ]
, str: 'Hello again!'
}
};
```

The following would be acceptable.

```js
var properties = require('tea-properties');
properties.set(obj, 'prop1.str', 'Hello Universe!');
properties.set(obj, 'prop1.arr[2]', 'B');
properties.set(obj, 'prop2.arr[0].nested.value', { hello: 'universe' });
```

@param {Object} object
@param {String} path
@param {Mixed} value
@api private