Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nodert/nodert-streams
https://github.com/nodert/nodert-streams
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/nodert/nodert-streams
- Owner: NodeRT
- License: other
- Created: 2016-10-07T11:31:37.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-11-28T16:39:56.000Z (about 7 years ago)
- Last Synced: 2024-11-09T07:42:18.115Z (3 months ago)
- Language: C++
- Size: 18.6 KB
- Stars: 6
- Watchers: 6
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
nodert-streams
=====
Turns a WinRT stream (Wrapped using NodeRT) into a node.js stream.
For more information on NodeRT, take a look at: https://github.com/NodeRT/NodeRTYou can download this module from NPM by running the following cmd:
```
npm install @nodert-win10/nodert-streams
```If you have cloned the git repo (and not downloaded thm module from NPM) run the following command from inside the directory:
```
node-gyp rebuild
```(For both of the above commands, make sure that node-gyp and all of its perquisites are installed)
API:
* **InputStream** class - instantiated by passing a WinRT input stream in the constructor, this object behaves like a readable nodejs stream.
* **OutputStream** class - instantiated by passing a WinRT input stream in the constructor, this object behaves like a writeable nodejs stream.
* **toIBuffer** function - accepts a node.js buffer and returns an IBuffer object which points to the same underlying native buffer.Here is an example of using nodert-streams for piping contents of a file to stdout:
```javascript
var streams = require('@nodert-win10/windows.storage.streams');
var storage = require('@nodert-win10/windows.storage');
var nodert_streams = require('@nodert-win10/nodert-streams');
var StorageFile = storage.StorageFile;// open a file from the documents library
storage.KnownFolders.documentsLibrary.getFileAsync('document.txt', function(err, file) {
if (err) {
return console.info(err);
}
// call openAsync in order to retrieve the stream
file.openAsync(storage.FileAccessMode.read, function(err, fileStream) {
if (err) {
return console.info(err);
}
// convert the winrt stream to a node.js stream
var nodeStream = streams.InputStream(fileStream.getInputStreamAt(0));
// pipe the stream to the stdout
nodeStream.pipe(process.stdout);
});
});
```