| 123456789101112131415161718192021222324 |
- import * as assert from 'assert'
- import { Source } from '../src/Source'
- import * as Sink from '../src/Sink'
- import * as fs from 'fs'
- describe('file stream', function () {
- this.timeout(5000)
- it('should run a stream from a file', async () => {
- const value = await Source.fromReadableBuilder<Buffer>(() => fs.createReadStream('./resources/test/numbers.txt'))
- .map(v => v.toString('utf-8'))
- .map(numbers =>
- numbers
- .split(/\s+/)
- .filter(v => v.length > 0)
- .map(v => parseInt(v, 10))
- .reduce((a, b) => a + b, 0),
- )
- .into(Sink.sum)
- .run()
- assert.strictEqual(value, 525896510)
- })
- })
|