HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-172-31-4-197 6.8.0-1036-aws #38~22.04.1-Ubuntu SMP Fri Aug 22 15:44:33 UTC 2025 x86_64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //usr/lib/node_modules/forever/node_modules/from/readme.markdown
[![TravisCI Build Status](https://travis-ci.org/nmhnmh/from.svg?branch=master)](https://travis-ci.org/nmhnmh/from)

# from

An easy way to create a `readable Stream`.

## from(function getChunk(count, next))

from takes a `getChunk` function and returns a stream.  

`getChunk` is called again and again, after each time the user calls `next()`, 
until the user emits `'end'`

if `pause()` is called, the `getChunk` won't be called again untill `resume()` is called.


```js
var from = require('from')

var stream = 
  from(function getChunk(count, next) {
    //do some sort of data
    this.emit('data', whatever)
    
    if(itsOver)
      this.emit('end')

    //ready to handle the next chunk
    next()
    //or, if it's sync:
    return true 
  })
```

## from(array)

from also takes an `Array` whose elements it emits one after another.

## License
MIT / Apache2