Newline character converter
npm install eolNewline character converter node module for JavaScript or TypeScript
* npm install eol
* let eol = require("eol")
* import eol from "eol"
* Normalize line endings in text to match the current operating system
* Returns string with line endings normalized to \r\n or \n
* Normalize line endings in text to CRLF (Windows, DOS)
* Returns string with line endings normalized to \r\n
* Normalize line endings in text to LF (Unix, OS X)
* Returns string with line endings normalized to \n
* Normalize line endings in text to CR (Mac OS)
* Returns string with line endings normalized to \r
* Generate normalizer where linebreaks become text
* Used internally to generate the normalizers above
* Returns composed pure function with creative potential
* Add linebreak before text
* Returns string with linebreak added before text
* Uses eol.auto linebreak
* eol.lf(eol.before(text)) ⋮
* Add linebreak after text
* Returns string with linebreak added after text
* Uses eol.auto linebreak
* eol.lf(eol.after(text)) ⋮
* Detect or inspect linebreaks in text
* Returns array of matched linebreaks
* Split text by newline
* Returns array of lines
Coercing normalizers to string yields the appropriate character...useful glue for joining
``js`
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
Detect or inspect via match
`js`
eol.match(" ") // []
eol.match("world\nwide\nweb") // ["\n","\n"]
Generate alternate normalizers
``
let extra = eol.dub("\n\n\n")
extra("...")
``
let huh = eol.dub("???")
huh("...")
`js
let eol = require("eol")
let edit = require("edit-file")
edit("sample.txt", eol.lf)
`
`js
let eol = require("eol")
let map = require("map-file")
map({
from: "from.txt",
to: "to.txt",
map: eol.lf
})
`
`js
let ssv = require("ssv")
let eol = require("eol")
let deep = eol.split("spaced.txt").map(ssv.split)
`
Have an eol` sample to share?
Then please do :test_tube: :test_tube: :test_tube: :test_tube: