# p-transform Promised out of order transform. ## Usage A [Transform](https://nodejs.org/api/stream.html#implementing-a-transform-stream) that uses objectMode and implements custom `_write` and `_flush` methods. `transform` implementation must be sync or return a promise. Callback is not supported. Promisified `pipeline` and `transform` shortcut are provided for convenience. ``` const { PTransform, transform, pipeline } = require('p-transform'); await pipeline( new PTransform({ transform: async file => file }), transform(async file => file); ) ``` ## Debug Use `DEBUG=p-transform:*` environment variable. For custom debug name set `logName` option at PTransform constructor or `transform` argument. ## License Apache-2.0 # API ## Classes
Promisified pipeline
Shortcut to create a PTransform with transform and logName.
Shortcut to create a passthrough PTransform with spy and logName.
Shortcut to create a filter PTransform with filter and logName.
PTransform](#PTransform)
- [.flushQueue()](#PTransform+flushQueue) ⇒
- [.queuedTransform(chunk, encoding)](#PTransform+queuedTransform) ⇒
### new PTransform([options])
PTransform
| Param | Type | Description |
| ---------------------- | --------------------- | -------------------------------------- |
| [options] | Object | Options object forwarded to Transform. |
| [options.logName] | String | Custom name for logger. |
| [options.transform] | function | Transform function. |
| [options.queueOptions] | Object | Options forwarded to PQueue instance. |
### pTransform.name(name) ⇒ [PTransform](#PTransform)
Set log name.
**Kind**: instance method of [PTransform](#PTransform)
**Returns**: [PTransform](#PTransform) - this
| Param | Type |
| ----- | ------------------- |
| name | String |
### pTransform.flushQueue() ⇒
Wait for queue idle.
**Kind**: instance method of [PTransform](#PTransform)
**Returns**: PromisePTransform](#PTransform)
**Returns**: Promise
| Param | Type |
| -------- | ------------------- |
| chunk | Object |
| encoding | String |
## pipeline
Promisified pipeline
**Kind**: global constant
## transform(transform, logName)
Shortcut to create a PTransform with transform and logName.
**Kind**: global function
| Param | Type |
| --------- | --------------------- |
| transform | function |
| logName | String |
## passthrough(spy, logName)
Shortcut to create a passthrough PTransform with spy and logName.
**Kind**: global function
| Param | Type |
| ------- | --------------------- |
| spy | function |
| logName | String |
## filter(filter, logName)
Shortcut to create a filter PTransform with filter and logName.
**Kind**: global function
| Param | Type |
| ------- | --------------------- |
| filter | function |
| logName | String |