Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

eol

ryanve5.2mMIT0.10.0TypeScript support: included

Newline character converter

eol, lf, cr, crlf, newline, newlines, convert, converter, conversion, character, formatting, format, string, javascript, typescript, ender, file

readme

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(<var>text</var>)

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

eol.crlf(<var>text</var>)

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

eol.lf(<var>text</var>)

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

eol.cr(<var>text</var>)

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

eol.dub(<var>text</var>)

eol.before(<var>text</var>)

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

eol.after(<var>text</var>)

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

eol.match(<var>text</var>)

  • Detect or inspect linebreaks in <var>text</var>
  • Returns array of matched linebreaks

eol.split(<var>text</var>)

  • Split <var>text</var> 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