# walk-observable

> observable version for walk based on rxjs.

Latest version **1.1.0** (published 2017-12-08) · MIT license · 0 weekly downloads

## Install

```sh
npm install walk-observable
pnpm add walk-observable
yarn add walk-observable
bun add walk-observable
```

## Health

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

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.0 |
| Published | 2017-12-08 |
| First published | 2017-12-05 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | MartyJiang |
| Maintainers | jinahm |
| Keywords | walk, observable, rxjs |

## Links

- npm: https://www.npmjs.com/package/walk-observable
- Repository: https://github.com/MartyJiang/walk-observable
- Homepage: https://github.com/MartyJiang/walk-observable#readme
- Issues: https://github.com/MartyJiang/walk-observable/issues
- npm.io page: https://npm.io/package/walk-observable

## Dependencies (3)

- [rxjs](https://npm.io/package/rxjs.md) ^5.5.3
- [walk](https://npm.io/package/walk.md) ^2.3.9
- [xtend](https://npm.io/package/xtend.md) ^4.0.1

## Recent versions

- 1.1.0 (latest) — 2017-12-08
- 1.0.3 — 2017-12-08
- 1.0.2 — 2017-12-07
- 1.0.1 — 2017-12-06
- 1.0.0 — 2017-12-05

## README

# walk-observable

[![NPM](https://nodei.co/npm/walk-observable.png)](https://nodei.co/npm/walk-observable/)

observable version for [walk](https://www.npmjs.com/package/walk) based on
[rxjs](https://www.npmjs.com/package/rxjs).

## Installation

```bash
npm install --save walk-observable
```

## Getting Started

```js
const path = require('path')
const walk = require('./index')
const { filter } = require('rxjs/operators/filter')

walk('./', { filters: ['node_modules'] })
  .pipe(filter(v => v.stat.name.match(/\.json$/)))
  .subscribe({
    next: v => {
      console.log(`type: ${v.type} / ${path.join(v.root, v.stat.name)}`)
    },
    error: err => console.error(err),
    complete: () => console.log('done.'),
  })
```

## API

walk(path, [options])

### Options

* `share` - whether Observable that returned is cold or hot, default is `false`
* `types` - listener types, default is only `file`,it can be `names`,
  `directory`, `directories`, `file`, `files`, `end`, `nodeError`,
  `directoryError`, `errors`
* `breakOnError` - whether Observable emit error when encounter any error,
  default is `true`
* `autoNext` - whether walk process goto next automatically, default is `true`,
  if it's `false`, then you gonna invoke `next` manually.
  ```js
  walk('./', { filters: ['node_modules'], autoNext: false }).subscribe(v => {
    console.log(`type: ${v.type} / ${path.join(v.root, v.stat.name)}`)
    v.next()
  })
  ```

see [walk](https://www.npmjs.com/package/walk) for more details.

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