Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/skratchdot/object-path-set
set values in javascript objects by specifying a path
https://github.com/skratchdot/object-path-set
Last synced: 2 months ago
JSON representation
set values in javascript objects by specifying a path
- Host: GitHub
- URL: https://github.com/skratchdot/object-path-set
- Owner: skratchdot
- License: mit
- Created: 2014-09-15T21:20:52.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2023-03-04T02:34:42.000Z (almost 2 years ago)
- Last Synced: 2024-10-19T00:24:37.906Z (3 months ago)
- Language: JavaScript
- Size: 1.42 MB
- Stars: 5
- Watchers: 3
- Forks: 1
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE-MIT
Awesome Lists containing this project
README
# object-path-set
[![NPM version](https://badge.fury.io/js/object-path-set.svg)](http://badge.fury.io/js/object-path-set)
[![Build Status](https://travis-ci.org/skratchdot/object-path-set.png?branch=master)](https://travis-ci.org/skratchdot/object-path-set)
[![Code Climate](https://codeclimate.com/github/skratchdot/object-path-set.png)](https://codeclimate.com/github/skratchdot/object-path-set)
[![Coverage Status](https://coveralls.io/repos/skratchdot/object-path-set/badge.svg?branch=master&service=github)](https://coveralls.io/github/skratchdot/object-path-set?branch=master)
[![Dependency Status](https://david-dm.org/skratchdot/object-path-set.svg)](https://david-dm.org/skratchdot/object-path-set)
[![devDependency Status](https://david-dm.org/skratchdot/object-path-set/dev-status.svg)](https://david-dm.org/skratchdot/object-path-set#info=devDependencies)[![NPM](https://nodei.co/npm/object-path-set.png)](https://npmjs.org/package/object-path-set)
## Description
set values in javascript objects by specifying a path.
if the path doesn't exist yet, it will be created.
by using this library, you can help prevent the following error from occurring:
```
Cannot set property 'foo' of undefined
```NOTE: I've re-written / used this function so many different times, I decided to publish it
as a module.## Getting Started
Install the module with: `npm install --save object-path-set`
```javascript
var setPath = require('object-path-set');
var obj = { foo: { bar: 'baz' } };
obj = setPath(obj, 'foo.bar', 'newValue'); // result: {foo:{bar:'newValue'}}
obj = setPath(obj, 'foo.invalidKey', 'cool'); // result: {foo:{bar:'newValue',invalidKey: 'cool'}}
obj = setPath(obj, 'foo|bar', 'again', '|'); // result: {foo:{bar:'again',invalidKey: 'cool'}}
```## Links
- [Source Code](https://github.com/skratchdot/object-path-set)
- [Changelog](https://github.com/skratchdot/object-path-set/blob/master/CHANGELOG.md)
- [Live example on Runkit](https://npm.runkit.com/object-path-set)## Contributors
Thanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)):
| [
◬](https://www.skratchdot.com/)
[💻](https://github.com/skratchdot/object-path-set/commits?author=skratchdot "Code") [📖](https://github.com/skratchdot/object-path-set/commits?author=skratchdot "Documentation") |
| :---: |This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome!
## License
Copyright (c) 2014 skratchdot
Licensed under the MIT license.