Package Exports
- @iwater/react-native-destroy
- @iwater/react-native-destroy/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@iwater/react-native-destroy) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
destroy
a modified version of destroy module for running in react-native envs
Destroy a stream.
This module is meant to ensure a stream gets destroyed, handling different APIs and Node.js bugs.
API
var destroy = require('destroy')destroy(stream [, suppress])
Destroy the given stream, and optionally suppress any future error events.
In most cases, this is identical to a simple stream.destroy() call. The rules
are as follows for a given stream:
- If the
streamis an instance ofReadStream, then callstream.destroy()and add a listener to theopenevent to callstream.close()if it is fired. This is for a Node.js bug that will leak a file descriptor if.destroy()is called beforeopen. - If the
streamis an instance of a zlib stream, then callstream.destroy()and close the underlying zlib handle if open, otherwise callstream.close(). This is for consistency across Node.js versions and a Node.js bug that will leak a native zlib handle. - If the
streamis not an instance ofStream, then nothing happens. - If the
streamhas a.destroy()method, then call it.
The function returns the stream passed in as the argument.
Example
var destroy = require('destroy')
var fs = require('fs')
var stream = fs.createReadStream('package.json')
// ... and later
destroy(stream)