stringstream

WebJar for stringstream

Лицензия

Лицензия

MIT
Группа

Группа

org.webjars.npm
Идентификатор

Идентификатор

stringstream
Последняя версия

Последняя версия

0.0.6
Дата

Дата

Тип

Тип

jar
Описание

Описание

stringstream
WebJar for stringstream
Ссылка на сайт

Ссылка на сайт

http://webjars.org
Система контроля версий

Система контроля версий

https://github.com/mhart/StringStream

Скачать stringstream

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/org.webjars.npm/stringstream/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>stringstream</artifactId>
    <version>0.0.6</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/stringstream/
implementation 'org.webjars.npm:stringstream:0.0.6'
// https://jarcasting.com/artifacts/org.webjars.npm/stringstream/
implementation ("org.webjars.npm:stringstream:0.0.6")
'org.webjars.npm:stringstream:jar:0.0.6'
<dependency org="org.webjars.npm" name="stringstream" rev="0.0.6">
  <artifact name="stringstream" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='stringstream', version='0.0.6')
)
libraryDependencies += "org.webjars.npm" % "stringstream" % "0.0.6"
[org.webjars.npm/stringstream "0.0.6"]

Зависимости

Библиотека не имеет зависимостей. Это самодостаточное приложение, которое не зависит ни от каких других библиотек.

Модули Проекта

Данный проект не имеет модулей.

Decode streams into strings without setEncoding

const fs = require('fs')
const zlib = require('zlib')
const strs = require('stringstream')

const utf8Stream = fs.createReadStream('massiveLogFile.gz')
  .pipe(zlib.createGunzip())
  .pipe(strs('utf8'))

utf8Stream.on('data', str => console.log(`This will be a string: ${str}`))

API

  • strs(to, [options]) – creates a transform stream that converts the input into strings in to encoding (eg, utf8, hex, base64)
  • strs(from, to, [options]) – creates a transform stream converts the input from strings in from encoding to strings in to encoding

options can be anything compatible with the standard Node.js new stream.Transform([options]) constructor

NB: This library was originally written before Node.js correctly encoded base64 strings from streams

Back in the day, calling .setEncoding('base64') on a readable stream didn't align correctly, which was one of the main reasons I wrote this library – however this hasn't been the case for a long time, so this library is now really only useful in scenarios where you don't want to call .setEncoding() for whatever reason.

It also handles input and output text encodings:

// Stream from utf8 to hex to base64... Why not, ay.
const hex64Stream = fs.createReadStream('myFile.txt')
  .pipe(strs('utf8', 'hex'))
  .pipe(strs('hex', 'base64'))

Also deals with base64 output correctly by aligning each emitted data chunk so that there are no dangling = characters:

const stream = fs.createReadStream('myFile.jpg').pipe(strs('base64'))

let base64Str = ''

stream.on('data', data => base64Str += data)
stream.on('end', () => {
  console.log('My base64 encoded file is: ' + base64Str)
  console.log('Original file is: ' + Buffer.from(base64Str, 'base64'))
})

Версии библиотеки

Версия
0.0.6
0.0.5
0.0.4