Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rrainn/js-object-utilities
https://github.com/rrainn/js-object-utilities
Last synced: 23 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/rrainn/js-object-utilities
- Owner: rrainn
- License: unlicense
- Created: 2021-03-15T01:38:14.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-12-20T20:03:14.000Z (about 1 year ago)
- Last Synced: 2024-12-08T21:07:47.090Z (about 1 month ago)
- Language: JavaScript
- Size: 111 KB
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# js-object-utilities
This package has a bunch of helper methods to work with nested objects in JavaScript.
## Install
```
npm i js-object-utilities
```## API
### objectutils.get(obj, key)
This function takes in an object (`obj`) and a key (`key`) and returns the value for the given key.
```js
const objectutils = require("js-object-utilities");
console.log(objectutils.get({
"data": {
"hello": "world"
}
}, "data.hello"));// Will print "world"
```### objectutils.set(obj, key, value)
This function takes in an object (`obj`), key (`key`), and a value (`value`) and mutates the object setting the value for the given key.
```js
const objectutils = require("js-object-utilities");
const object = {
"data": {
"hello": "world"
}
};
objectutils.set(object, "data.hello", "universe");
console.log(object); // {"data": {"hello": "universe"}}
```### objectutils.delete(obj, key)
This function takes in an object (`obj`), and key (`key`), and deletes the given value for the key you passed in.
```js
const objectutils = require("js-object-utilities");
const object = {
"data": {
"hello": "world"
}
};
objectutils.delete(object, "data.hello");
console.log(object); // {"data": {}}
```### objectutils.pick(obj, keys)
This function takes in an object (`obj`), and array of keys (`keys`), and returns an object for the given keys you passed in.
```js
const objectutils = require("js-object-utilities");
const object = {
"data": {
"hello": "world",
"space": "travel",
"node": "npm"
}
};
objectutils.delete(object, ["data.hello", "data.space"]);
console.log(object); // {"data": {"hello": "world", "space": "travel"}}
```### objectutils.keys(obj)
This function takes in an object (`obj`), and returns an array of keys included in that object.
```js
const objectutils = require("js-object-utilities");
const object = {
"data": {
"hello": "world",
"space": "travel",
"node": "npm"
}
};
console.log(objectutils.keys(object)); // ["data", "data.hello", "data.space", "data.node"]
```### objectutils.entries(obj)
This function takes in an object (`obj`), and returns an array of entries included in that object.
```js
const objectutils = require("js-object-utilities");
const object = {
"data": {
"hello": "world",
"space": "travel",
"node": "npm"
}
};
console.log(objectutils.keys(object)); // [["data", {"hello": "world", "space": "travel", "node": "npm"}], ["data.hello", "world"], ["data.space", "travel"], ["data.node", "npm]]
```### objectutils.equals(obj)
This function takes in two values, and returns a boolean representing if they are equal. If objects as passed in it will check to ensure the entire object is identical.
```js
const objectutils = require("js-object-utilities");
const object = {
"data": {
"hello": "world",
"space": "travel",
"node": "npm"
}
};
console.log(objectutils.equals(object, {
"data": {
"hello": "world",
"space": "travel",
"node": "npm"
}
})); // trueconsole.log(objectutils.equals(object, {
"data": {
"hello": "universe",
"space": "travel",
"node": "npm"
}
})); // false
```### objectutils.clearEmpties(obj)
This function takes in an object and mutates it to remove all objects with a length of 0.
```js
const objectutils = require("js-object-utilities");
const object = {
"data": {
"hello": "world",
"space": "travel",
"node": "npm",
"otherData": {}
}
};
objectutils.clearEmpties(object);
console.log(object);
// {
// "data": {
// "hello": "world",
// "space": "travel",
// "node": "npm",
// }
// }
```### objectutils.isCircular(obj[, searchKey])
This function checks to see if an object is circular. If a search key is passed in it will only return `true` if the object is circular and the search key is the key that caused the circularity.
This function will also check all nested objects for circularity.
```js
const objectutils = require("js-object-utilities");let object = {};
object.array = {"first": 1};
object.array2 = object;const isCircular = objectutils.isCircular(object);
console.log(isCircular); // trueconst isRandomKeyCircular = objectutils.isCircular(object, "random");
console.log(isRandomKeyCircular); // falseconst isArray2KeyCircular = objectutils.isCircular(object, "array2");
console.log(isArray2KeyCircular); // true
```### objectutils.circularKeys(obj[, searchKey])
This function is identical to `objectutils.isCircular` except it returns an array of keys that are circular.
```js
const objectutils = require("js-object-utilities");let object = {};
object.array = {"first": 1};
object.array2 = object;const circularKeys = objectutils.circularKeys(object);
console.log(circularKeys); // ["array2"]const randomKeyCircular = objectutils.circularKeys(object, "random");
console.log(randomKeyCircular); // []const array2KeyCircular = objectutils.circularKeys(object, "array2");
console.log(array2KeyCircular); // ["array2"]
```