eol

v0.10.0
Newline character converter
eol lf cr crlf newline newlines convert converter conversion and 9 more...

eol

Newline character converter node module for JavaScript or TypeScript

npm.im/eol

  • npm install eol
  • let eol = require("eol")
  • import eol from "eol"

API

eol.auto(text)

  • Normalize line endings in text to match the current operating system
  • Returns string with line endings normalized to \r\n or \n

eol.crlf(text)

  • Normalize line endings in text to CRLF (Windows, DOS)
  • Returns string with line endings normalized to \r\n

eol.lf(text)

  • Normalize line endings in text to LF (Unix, OS X)
  • Returns string with line endings normalized to \n

eol.cr(text)

  • Normalize line endings in text to CR (Mac OS)
  • Returns string with line endings normalized to \r

eol.dub(text)

eol.before(text)

  • Add linebreak before text
  • Returns string with linebreak added before text
  • Uses eol.auto linebreak
  • eol.lf(eol.before(text))

eol.after(text)

  • Add linebreak after text
  • Returns string with linebreak added after text
  • Uses eol.auto linebreak
  • eol.lf(eol.after(text))

eol.match(text)

  • Detect or inspect linebreaks in text
  • Returns array of matched linebreaks

eol.split(text)

  • Split text by newline
  • Returns array of lines

Joining

Coercing normalizers to string yields the appropriate character...useful glue for joining

String(eol.lf) // "\n"
eol.split(text).join(eol.auto) // === eol.auto(text)
eol.split(text).filter(line => line).join(eol.auto) // text joined after removing empty lines
eol.split(text).slice(-3).join(eol.auto) // last 3 lines joined

Matching

Detect or inspect via match

eol.match(" ") // []
eol.match("world\nwide\nweb") // ["\n","\n"]

Dubbing

Generate alternate normalizers

let extra = eol.dub("\n\n\n")
extra("...")
let huh = eol.dub("???")
huh("...")

modularitY

edit-file

let eol = require("eol")
let edit = require("edit-file")

edit("sample.txt", eol.lf)

map-file

let eol = require("eol")
let map = require("map-file")

map({
  from: "from.txt",
  to: "to.txt",
  map: eol.lf
})

ssv

let ssv = require("ssv")
let eol = require("eol")

let deep = eol.split("spaced.txt").map(ssv.split)

Yours

Have an eol sample to share?

Then please do :test_tube: :test_tube: :test_tube: :test_tube:

opensource

MIT License

∞/0

npm i eol

Metadata

  • MIT
  • Whatever
  • Ryan Van Etten
  • released 9/1/2024

Downloads

Maintainers