Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ryanve/eol
JavaScript newline character converter
https://github.com/ryanve/eol
character-converter eol javascript linebreak linebreaks newline node node-js nodejs
Last synced: 5 days ago
JSON representation
JavaScript newline character converter
- Host: GitHub
- URL: https://github.com/ryanve/eol
- Owner: ryanve
- License: mit
- Created: 2014-03-12T13:50:40.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2024-09-01T01:07:07.000Z (4 months ago)
- Last Synced: 2024-12-11T00:04:04.024Z (12 days ago)
- Topics: character-converter, eol, javascript, linebreak, linebreaks, newline, node, node-js, nodejs
- Language: HTML
- Homepage: http://ryanve.dev/eol
- Size: 77.1 KB
- Stars: 39
- Watchers: 3
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
Awesome Lists containing this project
README
# [eol](https://ryanve.github.io/eol)
[Newline](http://en.wikipedia.org/wiki/Newline) character converter node module for [JavaScript](eol.js) or [TypeScript](eol.d.ts)
### [npm.im/eol](https://npmjs.com/package/eol)
* `npm install eol`
*let eol = require("eol")
*import eol from "eol"
## [API](https://ryanve.github.io/eol#methods)
### 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)
* Generate normalizer where linebreaks become text
* Used [internally](eol.js) to generate the [normalizers](#api) above
* Returns composed pure function with [creative potential](#dubbing)### 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](#api) 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
```### Matching
Detect or inspect via match
```js
eol.match(" ") // []
eol.match("world\nwide\nweb") // ["\n","\n"]
```### Dubbing
Generate alternate [normalizers](#api)
```
let extra = eol.dub("\n\n\n")
extra("...")
``````
let huh = eol.dub("???")
huh("...")
```## modularitY
### [edit-file](https://github.com/ryanve/edit-file)
```js
let eol = require("eol")
let edit = require("edit-file")edit("sample.txt", eol.lf)
```### [map-file](https://github.com/ryanve/map-file)
```js
let eol = require("eol")
let map = require("map-file")map({
from: "from.txt",
to: "to.txt",
map: eol.lf
})
```### [ssv](https://ryanve.github.io/ssv)
```js
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](../../issues/new) :test_tube: :test_tube: :test_tube: :test_tube:
## [opensource](package.json)
[MIT License](LICENSE.md)
[**∞/0**](#eol)