Skip to content

Latest commit

 

History

History
95 lines (60 loc) · 1.48 KB

Accumulator.md

File metadata and controls

95 lines (60 loc) · 1.48 KB

Accumulator

class Accumulator

import Accumulator from 'ex-stream/Accumulator';

Accumulate stream data by charging and release it on stream finish

import Accumulator from 'ex-stream/Accumulator';
import { log } from 'ex-stream/LogStream';

class Concat extends Accumulator {
   data = '';
  _charge(data, enc, next) {
     this.data += data;
     next();
  }
  _release() {
     try {
       return this.data
     } catch(e) {
       this.data = '';
     }
  }
}
const concat = new Concat();
concat.pipe(log()); // 'abcdefg'

concat.write('a');
concat.write('b');
concat.write('c');
concat.write('d');
concat.write('e');
concat.write('f');
concat.end('g');

Constructor

Parameters:

  • options: Object= - Stream options

Class is abstract


Methods

_charge(data: *, encoding: String, next: Function)

Charging stream

Parameters:

  • data: * - charged data
  • encoding: String - data encoding
  • next: Function - pass function

_release()

Release charged data

Returns: * - left data