0.0.16 • Published 2 years ago

nv-lex-q v0.0.16

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

nv-lex-q

  • nv-lex-q

install

  • npm install nv-lex-q

usage

const {parse} = require("nv-lex-q");

example

const DFLT_QUOTES = [
    "'",'"','`',
    '"""',"'''"
]

var chunk = `""a'bc'cd"ef"g'''hij'''k"""lmnopq"""r`

var [toks,lefted] = parse(chunk,DFLT_QUOTES)

/*
> toks
[
  Qtok { type: 11, raw: '"' },
  Qtok { type: 11, raw: '"' },
  RawTok { type: 10, raw: 'a' },
  Qtok { type: 11, raw: "'" },
  RawTok { type: 10, raw: 'bc' },
  Qtok { type: 11, raw: "'" },
  RawTok { type: 10, raw: 'cd' },
  Qtok { type: 11, raw: '"' },
  RawTok { type: 10, raw: 'ef' },
  Qtok { type: 11, raw: '"' },
  RawTok { type: 10, raw: 'g' },
  Qtok { type: 11, raw: "'''" },
  RawTok { type: 10, raw: 'hij' },
  Qtok { type: 11, raw: "'''" },
  RawTok { type: 10, raw: 'k' },
  Qtok { type: 11, raw: '"""' },
  RawTok { type: 10, raw: 'lmnopq' },
  Qtok { type: 11, raw: '"""' }
]
> lefted
'r'
>
*/

var chunk = `""a'bc'cd"ef"g'''hij'''k"""lmnopq"""`

var [toks,lefted] = parse(chunk,DFLT_QUOTES)
/*
> toks
[
  Qtok { type: 11, raw: '"' },
  Qtok { type: 11, raw: '"' },
  RawTok { type: 10, raw: 'a' },
  Qtok { type: 11, raw: "'" },
  RawTok { type: 10, raw: 'bc' },
  Qtok { type: 11, raw: "'" },
  RawTok { type: 10, raw: 'cd' },
  Qtok { type: 11, raw: '"' },
  RawTok { type: 10, raw: 'ef' },
  Qtok { type: 11, raw: '"' },
  RawTok { type: 10, raw: 'g' },
  Qtok { type: 11, raw: "'''" },
  RawTok { type: 10, raw: 'hij' },
  Qtok { type: 11, raw: "'''" },
  RawTok { type: 10, raw: 'k' },
  Qtok { type: 11, raw: '"""' },
  RawTok { type: 10, raw: 'lmnopq' },
  Qtok { type: 11, raw: '"""' }
]
> lefted
''
>

*/

var chunk = `""a'bc'cd"ef"g'''hij'''k"""lmnopq""`

var [toks,lefted] = parse(chunk,DFLT_QUOTES)

/*
> toks
[
  Qtok { type: 11, raw: '"' },
  Qtok { type: 11, raw: '"' },
  RawTok { type: 10, raw: 'a' },
  Qtok { type: 11, raw: "'" },
  RawTok { type: 10, raw: 'bc' },
  Qtok { type: 11, raw: "'" },
  RawTok { type: 10, raw: 'cd' },
  Qtok { type: 11, raw: '"' },
  RawTok { type: 10, raw: 'ef' },
  Qtok { type: 11, raw: '"' },
  RawTok { type: 10, raw: 'g' },
  Qtok { type: 11, raw: "'''" },
  RawTok { type: 10, raw: 'hij' },
  Qtok { type: 11, raw: "'''" },
  RawTok { type: 10, raw: 'k' },
  Qtok { type: 11, raw: '"""' },
  RawTok { type: 10, raw: 'lmnopq' }
]
> lefted
'""'
>
*/


var chunk = `""a'bc'cd"ef"g'''hij'''k"""lmnopq"`

var [toks,lefted] = parse(chunk,DFLT_QUOTES)

/*
> toks
[
  Qtok { type: 11, raw: '"' },
  Qtok { type: 11, raw: '"' },
  RawTok { type: 10, raw: 'a' },
  Qtok { type: 11, raw: "'" },
  RawTok { type: 10, raw: 'bc' },
  Qtok { type: 11, raw: "'" },
  RawTok { type: 10, raw: 'cd' },
  Qtok { type: 11, raw: '"' },
  RawTok { type: 10, raw: 'ef' },
  Qtok { type: 11, raw: '"' },
  RawTok { type: 10, raw: 'g' },
  Qtok { type: 11, raw: "'''" },
  RawTok { type: 10, raw: 'hij' },
  Qtok { type: 11, raw: "'''" },
  RawTok { type: 10, raw: 'k' },
  Qtok { type: 11, raw: '"""' },
  RawTok { type: 10, raw: 'lmnopq' }
]
> lefted
'"'
>
*/

var chunk = `""a'bc'cd"ef"g'''hij'''k"""lmnopq`

var [toks,lefted] = parse(chunk,DFLT_QUOTES)

/*
> toks
[
  Qtok { type: 11, raw: '"' },
  Qtok { type: 11, raw: '"' },
  RawTok { type: 10, raw: 'a' },
  Qtok { type: 11, raw: "'" },
  RawTok { type: 10, raw: 'bc' },
  Qtok { type: 11, raw: "'" },
  RawTok { type: 10, raw: 'cd' },
  Qtok { type: 11, raw: '"' },
  RawTok { type: 10, raw: 'ef' },
  Qtok { type: 11, raw: '"' },
  RawTok { type: 10, raw: 'g' },
  Qtok { type: 11, raw: "'''" },
  RawTok { type: 10, raw: 'hij' },
  Qtok { type: 11, raw: "'''" },
  RawTok { type: 10, raw: 'k' },
  Qtok { type: 11, raw: '"""' }
]
> lefted
'lmnopq'
>
*/


var quotes = [
    '`',
    "''",'""',
    '"""',"'''"
]

var chunk = `""a'bc'cd"ef"g'''hij'''k"""lmnopq"""""`

var [toks,lefted] = parse(chunk,quotes)

/*
> toks
[
  Qtok { type: 11, raw: '""' },
  RawTok { type: 10, raw: 'a' },
  RawTok { type: 10, raw: "'" },
  RawTok { type: 10, raw: 'bc' },
  RawTok { type: 10, raw: "'" },
  RawTok { type: 10, raw: 'cd' },
  RawTok { type: 10, raw: '"' },
  RawTok { type: 10, raw: 'ef' },
  RawTok { type: 10, raw: '"' },
  RawTok { type: 10, raw: 'g' },
  Qtok { type: 11, raw: "'''" },
  RawTok { type: 10, raw: 'hij' },
  Qtok { type: 11, raw: "'''" },
  RawTok { type: 10, raw: 'k' },
  Qtok { type: 11, raw: '"""' },
  RawTok { type: 10, raw: 'lmnopq' },
  Qtok { type: 11, raw: '"""' }
]
> lefted
'""'
>
*/

API

  • parse(chunk,match_array):Array,String //toks and lefted-string
  • TOK_TYPE_MD

LICENSE

  • ISC
0.0.16

2 years ago

0.0.15

3 years ago

0.0.10

3 years ago

0.0.11

3 years ago

0.0.12

3 years ago

0.0.13

3 years ago

0.0.9

3 years ago

0.0.8

3 years ago

0.0.7

3 years ago

0.0.6

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago