# object-walk-x

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

Latest version **2.1.2** (published 2019-08-28) · MIT license · 0 weekly downloads

## Install

```sh
npm install object-walk-x
pnpm add object-walk-x
yarn add object-walk-x
bun add object-walk-x
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.1.2 |
| Published | 2019-08-28 |
| First published | 2016-01-12 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Node | >=8.11.4 |
| Dependencies | 9 |
| Unpacked size | 590.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | Graham Fairweather |
| Maintainers | xotic750 |
| Keywords | object, walker, module, javascript, nodejs, browser |

## Links

- npm: https://www.npmjs.com/package/object-walk-x
- Repository: https://github.com/Xotic750/object-walk-x
- Issues: https://github.com/Xotic750/object-walk-x/issues
- npm.io page: https://npm.io/package/object-walk-x

## Dependencies (9)

- [array-some-x](https://npm.io/package/array-some-x.md) ^3.1.2
- [is-function-x](https://npm.io/package/is-function-x.md) ^4.1.2
- [object-keys-x](https://npm.io/package/object-keys-x.md) ^3.1.2
- [simple-call-x](https://npm.io/package/simple-call-x.md) ^1.0.3
- [is-primitive-x](https://npm.io/package/is-primitive-x.md) ^1.0.1
- [is-array-like-x](https://npm.io/package/is-array-like-x.md) ^2.1.2
- [array-includes-x](https://npm.io/package/array-includes-x.md) ^3.1.2
- [simple-methodize-x](https://npm.io/package/simple-methodize-x.md) ^1.0.4
- [object-define-properties-x](https://npm.io/package/object-define-properties-x.md) ^5.1.2

## Alternatives

- [@opentelemetry/exporter-zipkin](https://npm.io/package/@opentelemetry/exporter-zipkin.md) — 14.8M weekly downloads
- [pusher-js](https://npm.io/package/pusher-js.md) — 2.0M weekly downloads
- [browserify](https://npm.io/package/browserify.md) — 1.7M weekly downloads
- [sqs-consumer](https://npm.io/package/sqs-consumer.md) — 1.7M weekly downloads
- [@sanity/eventsource](https://npm.io/package/@sanity/eventsource.md) — 930.8K weekly downloads

## Recent versions

- 2.1.2 (latest) — 2019-08-28
- 2.1.1 — 2019-08-20
- 2.1.0 — 2019-08-14
- 2.0.13 — 2019-08-05
- 2.0.12 — 2019-08-05
- 2.0.11 — 2019-08-05
- 2.0.10 — 2019-07-31
- 2.0.9 — 2019-07-27
- 2.0.8 — 2019-07-26
- 2.0.7 — 2019-07-25
- 2.0.6 — 2019-07-24
- 2.0.5 — 2019-07-24
- 2.0.4 — 2019-07-22
- 2.0.3 — 2019-07-21
- 2.0.2 — 2019-07-19
- … 17 more at https://npm.io/package/object-walk-x/versions

## README

<a
  href="https://travis-ci.org/Xotic750/object-walk-x"
  title="Travis status">
<img
  src="https://travis-ci.org/Xotic750/object-walk-x.svg?branch=master"
  alt="Travis status" height="18">
</a>
<a
  href="https://david-dm.org/Xotic750/object-walk-x"
  title="Dependency status">
<img src="https://david-dm.org/Xotic750/object-walk-x/status.svg"
  alt="Dependency status" height="18"/>
</a>
<a
  href="https://david-dm.org/Xotic750/object-walk-x?type=dev"
  title="devDependency status">
<img src="https://david-dm.org/Xotic750/object-walk-x/dev-status.svg"
  alt="devDependency status" height="18"/>
</a>
<a
  href="https://badge.fury.io/js/object-walk-x"
  title="npm version">
<img src="https://badge.fury.io/js/object-walk-x.svg"
  alt="npm version" height="18">
</a>
<a
  href="https://www.jsdelivr.com/package/npm/object-walk-x"
  title="jsDelivr hits">
<img src="https://data.jsdelivr.com/v1/package/npm/object-walk-x/badge?style=rounded"
  alt="jsDelivr hits" height="18">
</a>
<a
  href="https://bettercodehub.com/results/Xotic750/object-walk-x"
  title="bettercodehub score">
<img src="https://bettercodehub.com/edge/badge/Xotic750/object-walk-x?branch=master"
  alt="bettercodehub score" height="18">
</a>
<a
  href="https://coveralls.io/github/Xotic750/object-walk-x?branch=master"
  title="Coverage Status">
<img src="https://coveralls.io/repos/github/Xotic750/object-walk-x/badge.svg?branch=master"
  alt="Coverage Status" height="18">
</a>

<a name="module_object-walk-x"></a>

## 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) : <code>string</code>
    - [`.SKIP`](#module_object-walk-x--module.exports.SKIP) : <code>string</code>
    - [`.STOP`](#module_object-walk-x--module.exports.STOP) : <code>string</code>

<a name="exp_module_object-walk-x--module.exports"></a>

### `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    | <code>\*</code>       | The `object` to walk.                                                                                |
| props     | <code>function</code> | The function that returns an array of the properties of `value` to be walked, invoked per iteration. |
| supplier  | <code>function</code> | The function invoked per iteration.                                                                  |
| [thisArg] | <code>\*</code>       | 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
//   }
// }
```

<a name="module_object-walk-x--module.exports.BREAK"></a>

#### `module.exports.BREAK` : <code>string</code>

**Kind**: static property of [<code>module.exports</code>](#exp_module_object-walk-x--module.exports)  
**Default**: <code>&quot;break&quot;</code>  
<a name="module_object-walk-x--module.exports.SKIP"></a>

#### `module.exports.SKIP` : <code>string</code>

**Kind**: static property of [<code>module.exports</code>](#exp_module_object-walk-x--module.exports)  
**Default**: <code>&quot;skip&quot;</code>  
<a name="module_object-walk-x--module.exports.STOP"></a>

#### `module.exports.STOP` : <code>string</code>

**Kind**: static property of [<code>module.exports</code>](#exp_module_object-walk-x--module.exports)  
**Default**: <code>&quot;stop&quot;</code>

---
_Source: https://npm.io/package/object-walk-x · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
