Get the name of a number, even if it's stupidly big.
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
Dieses Repo ist archiviert. Du kannst Dateien sehen und es klonen, kannst aber nicht pushen oder Issues/Pull-Requests öffnen.

26 Zeilen
640 B

  1. import { Transform } from 'stream'
  2. import { StreamOptions } from './common'
  3. export default class ConverterStream extends Transform {
  4. private buffer: string
  5. constructor(
  6. private readonly converter: (value: string | number | bigint) => string,
  7. readonly options: StreamOptions,
  8. ) {
  9. super()
  10. this.buffer = ''
  11. }
  12. _transform(chunk: Buffer, _encoding: BufferEncoding, callback: Function) {
  13. let chunkStr = chunk.toString(this.options.encoding)
  14. this.buffer += chunkStr
  15. callback()
  16. }
  17. _flush(callback: Function) {
  18. this.push(this.converter(this.buffer.trim()), this.options.encoding)
  19. callback()
  20. }
  21. }