strip-final-newline
Strip the final newline character from a string or Uint8Array
Last updated 2 years ago by sindresorhus .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install strip-final-newline 
SYNC missed versions from official npm registry.

strip-final-newline

Strip the final newline character from a string or Uint8Array.

This can be useful when parsing the output of, for example, ChildProcess#execFile(), as binaries usually output a newline at the end. You cannot use stdout.trimEnd() for this as it removes all trailing newlines and whitespaces at the end.

Install

npm install strip-final-newline

Usage

import stripFinalNewline from 'strip-final-newline';

stripFinalNewline('foo\nbar\n\n');
//=> 'foo\nbar\n'

const uint8Array = new TextEncoder().encode('foo\nbar\n\n')
new TextDecoder().decode(stripFinalNewline(uint8Array));
//=> 'foo\nbar\n'

Performance

When using an Uint8Array, the original value is referenced, not copied. This is much more efficient, requires almost no memory, and remains milliseconds fast even on very large inputs.

If you'd like to ensure that modifying the return value does not also modify the value passed as input, please use .slice().

const value = new TextDecoder().decode(stripFinalNewline(uint8Array).slice());

Current Tags

  • 4.0.0                                ...           latest (2 years ago)

3 Versions

  • 4.0.0                                ...           2 years ago
  • 3.0.0                                ...           5 years ago
  • 2.0.0                                ...           7 years ago
Maintainers (1)
Downloads
Today 0
This Week 80
This Month 113
Last Day 1
Last Week 54
Last Month 312
Dependencies (0)
None
Dev Dependencies (3)

Copyright 2013 - present © cnpmjs.org | Home |