1.0.2 • Published 5 years ago

nv-newline v1.0.2

Weekly downloads
6
License
ISC
Repository
-
Last release
5 years ago

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
1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago