Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/xotic750/object-walk-x

Walks a given object and invokes a function on each iteration.
https://github.com/xotic750/object-walk-x

browser ecmascript nodejs walker

Last synced: 15 days ago
JSON representation

Walks a given object and invokes a function on each iteration.

Awesome Lists containing this project

README

        


Travis status


Dependency status


devDependency status


npm version


jsDelivr hits


bettercodehub score


Coverage Status

## object-walk-x

Walks a given object and invokes a function on each iteration.

- [object-walk-x](#module_object-walk-x)
- [`module.exports(object, props, supplier, [thisArg])`](#exp_module_object-walk-x--module.exports) ⏏
- [`.BREAK`](#module_object-walk-x--module.exports.BREAK) : string
- [`.SKIP`](#module_object-walk-x--module.exports.SKIP) : string
- [`.STOP`](#module_object-walk-x--module.exports.STOP) : string

### `module.exports(object, props, supplier, [thisArg])` ⏏

This method walks a given object and invokes a function on each iteration.

**Kind**: Exported function

| Param | Type | Description |
| --------- | --------------------- | ---------------------------------------------------------------------------------------------------- |
| object | \* | The `object` to walk. |
| props | function | The function that returns an array of the properties of `value` to be walked, invoked per iteration. |
| supplier | function | The function invoked per iteration. |
| [thisArg] | \* | The `this` binding of `supplier`. |

**Example**

```js
const objectWalk from 'object-walk-x';

const subject = {
one: {
a: true,
b: true,
},
two: {
x: true,
y: true,
},
};

objectWalk(subject, Object.keys, function(value, prop, object, depth) {
object[prop + '_renamed'] = value;
delete object[prop];
});

// {
// one_renamed: {
// a_renamed: true,
// b_renamed: true
// },
// two_renamed: {
// x_renamed: true,
// y_renamed: true
// }
// }
```

#### `module.exports.BREAK` : string

**Kind**: static property of [module.exports](#exp_module_object-walk-x--module.exports)
**Default**: "break"

#### `module.exports.SKIP` : string

**Kind**: static property of [module.exports](#exp_module_object-walk-x--module.exports)
**Default**: "skip"

#### `module.exports.STOP` : string

**Kind**: static property of [module.exports](#exp_module_object-walk-x--module.exports)
**Default**: "stop"