1.0.2 • Published 5 years ago
nv-newline v1.0.2
nv-newline
- nv-newline is very simple util,
- it will parse-quote
- and then convert CRLF,CR to LF
- and then split-the-input-string
- self-defined quotes
- self-defined nls
install
- npm install nv-newline
usage
const nvquote = require("nv-quote");
const nvnl = require("nv-newline");
{
NLS: [ '\r\n', '\n', '\r' ],
NL: '\n',
tokenize: [Function: tokenize],
split: [Function: split]
}
example
var s = `\n""a'bc'cd"ef"g\n'''hij'''\rk"""lmnopq"""\r\nr\n`
nvnl.split(s,{quotes:nvquote.JSPY_QUOTES,nls:nvnl.NLS})
[
'\n', '""',
'a', "'bc'",
'c', 'd',
'"ef"', 'g',
'\n', "'''hij'''",
'\r', 'k',
'"""lmnopq"""', '\r\n',
'r', '\n'
]
var toks = nvquote.tokenize(s,quotes=nvquote.JSPY_QUOTES)
var ntoks = nvnl.tokenize(toks,nls=nvnl.NLS)
[
Tok {
str: '\n',
type: 'newline',
raw: '\n',
state: 'finished',
extra: 1
},
Tok {
str: '',
type: 'quoted-str',
raw: '""',
state: 'finished',
extra: 3
},
Tok {
str: 'a',
type: 'raw',
raw: 'a',
state: undefined,
extra: undefined
},
Tok {
str: 'bc',
type: 'quoted-str',
raw: "'bc'",
state: 'finished',
extra: 2
},
Tok {
str: 'c',
type: 'raw',
raw: 'c',
state: undefined,
extra: undefined
},
Tok {
str: 'd',
type: 'raw',
raw: 'd',
state: undefined,
extra: undefined
},
Tok {
str: 'ef',
type: 'quoted-str',
raw: '"ef"',
state: 'finished',
extra: 3
},
Tok {
str: 'g',
type: 'raw',
raw: 'g',
state: undefined,
extra: undefined
},
Tok {
str: '\n',
type: 'newline',
raw: '\n',
state: 'finished',
extra: 1
},
Tok {
str: 'hij',
type: 'quoted-str',
raw: "'''hij'''",
state: 'finished',
extra: 1
},
Tok {
str: '\n',
type: 'newline',
raw: '\r',
state: 'finished',
extra: 2
},
Tok {
str: 'k',
type: 'raw',
raw: 'k',
state: undefined,
extra: undefined
},
Tok {
str: 'lmnopq',
type: 'quoted-str',
raw: '"""lmnopq"""',
state: 'finished',
extra: 0
},
Tok {
str: '\n',
type: 'newline',
raw: '\r\n',
state: 'finished',
extra: 0
},
Tok {
str: 'r',
type: 'raw',
raw: 'r',
state: undefined,
extra: undefined
},
Tok {
str: '\n',
type: 'newline',
raw: '\n',
state: 'finished',
extra: 1
}
]
API
- nvnl.NLS
- nvnl.NL
- nvnl.tokenize(toks,nls=NLS)
- nvnl.split(s,cfg={quotes:nvquote.JS_QUOTES,nls:nvnl.NLS})
LICENSE
- ISC