{"version":3,"sources":["../../../lib/utils/stream-base64.js"],"names":["Stream","require","StreamBase64","pipes","encoding","destination","push","filter","pipe","Error","Duplex","module","exports"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAMA,MAAM,GAAGC,OAAO,CAAC,iBAAD,CAAtB,C,CAEA;AACA;AACA;;;IACMC,Y;;;;;AACJ,0BAAc;AAAA;;AAAA;;AACZ,8BADY,CAGZ;;AACA,UAAKC,KAAL,GAAa,EAAb;AAJY;AAKb,G,CAED;AACA;AACA;AACA;AACA;AACA;;;;;;AAEM;AAAsB;AAC1B,aAAO,IAAP;AACD;;;2BAEM,CAAE;;;6BAEA,CAAE;;;;AAEP;AAAiC,KAAE,C,CAEvC;AACA;AACA;AACA;AACA;AACA;;;;;AACK;AAAY,KAAE;;;gCAEPC,Q,EAAU;AACpB;AACA,WAAKA,QAAL,GAAgBA,QAAhB;AACD;;;4BAEO,CAAE;;;6BAED,CAAE;;;+BAEA,CAAE;;;yBAERC,W,EAAa;AAChB;AACA,WAAKF,KAAL,CAAWG,IAAX,CAAgBD,WAAhB;AACD;;;2BAEMA,W,EAAa;AAClB;AACA,WAAKF,KAAL,GAAa,KAAKA,KAAL,CAAWI,MAAX,CAAkB,UAAAC,IAAI;AAAA,eAAIA,IAAI,KAAKH,WAAb;AAAA,OAAtB,CAAb;AACD;;;;AAEO;AAAa;AACnB;AACA;AACA,YAAM,IAAII,KAAJ,CAAU,iBAAV,CAAN;AACD;;;;AAEI;AAAc;AACjB;AACA,YAAM,IAAIA,KAAJ,CAAU,iBAAV,CAAN;AACD;;;;EA/DwBT,MAAM,CAACU,M;;AAkElCC,MAAM,CAACC,OAAP,GAAiBV,YAAjB","sourcesContent":["const Stream = require('readable-stream');\r\n\r\n// =============================================================================\r\n// StreamBase64 - A utility to convert to/from base64 stream\r\n// Note: does not buffer data, must be piped\r\nclass StreamBase64 extends Stream.Duplex {\r\n  constructor() {\r\n    super();\r\n\r\n    // consuming pipe streams go here\r\n    this.pipes = [];\r\n  }\r\n\r\n  // writable\r\n  // event drain - if write returns false (which it won't), indicates when safe to write again.\r\n  // finish - end() has been called\r\n  // pipe(src) - pipe() has been called on readable\r\n  // unpipe(src) - unpipe() has been called on readable\r\n  // error - duh\r\n\r\n  write(/* data, encoding */) {\r\n    return true;\r\n  }\r\n\r\n  cork() {}\r\n\r\n  uncork() {}\r\n\r\n  end(/* chunk, encoding, callback */) {}\r\n\r\n  // readable\r\n  // event readable - some data is now available\r\n  // event data - switch to flowing mode - feeds chunks to handler\r\n  // event end - no more data\r\n  // event close - optional, indicates upstream close\r\n  // event error - duh\r\n  read(/* size */) {}\r\n\r\n  setEncoding(encoding) {\r\n    // causes stream.read or stream.on('data) to return strings of encoding instead of Buffer objects\r\n    this.encoding = encoding;\r\n  }\r\n\r\n  pause() {}\r\n\r\n  resume() {}\r\n\r\n  isPaused() {}\r\n\r\n  pipe(destination) {\r\n    // add destination to pipe list & write current buffer\r\n    this.pipes.push(destination);\r\n  }\r\n\r\n  unpipe(destination) {\r\n    // remove destination from pipe list\r\n    this.pipes = this.pipes.filter(pipe => pipe !== destination);\r\n  }\r\n\r\n  unshift(/* chunk */) {\r\n    // some numpty has read some data that's not for them and they want to put it back!\r\n    // Might implement this some day\r\n    throw new Error('Not Implemented');\r\n  }\r\n\r\n  wrap(/* stream */) {\r\n    // not implemented\r\n    throw new Error('Not Implemented');\r\n  }\r\n}\r\n\r\nmodule.exports = StreamBase64;\r\n"],"file":"stream-base64.js"}