| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 | const npm = {    read: require('./read')};/** * @namespace stream * @description * Namespace with methods that implement stream operations, and {@link stream.read read} is the only method currently supported. * * **Synchronous Stream Processing** * * ```js * const stream = require('spex')(Promise).stream; * const fs = require('fs'); * * const rs = fs.createReadStream('values.txt'); * * function receiver(index, data, delay) { *    console.log('RECEIVED:', index, data, delay); * } * * stream.read(rs, receiver) *     .then(data => { *         console.log('DATA:', data); *     }) *     .catch(error => { *         console.log('ERROR:', error); *     }); * ``` * * **Asynchronous Stream Processing** * * ```js * const stream = require('spex')(Promise).stream; * const fs = require('fs'); * * const rs = fs.createReadStream('values.txt'); * * function receiver(index, data, delay) { *    return new Promise(resolve => { *        console.log('RECEIVED:', index, data, delay); *        resolve(); *    }); * } * * stream.read(rs, receiver) *     .then(data => { *         console.log('DATA:', data); *     }) *     .catch(error => { *         console.log('ERROR:', error); *    }); * ``` * * @property {function} stream.read * Consumes and processes data from a $[Readable] stream. * */module.exports = function (config) {    const res = {        read: npm.read(config)    };    Object.freeze(res);    return res;};
 |