nv-string-comment

nv-string-comment =============== - nv-string-comment

Usage no npm install needed!

<script type="module">
  import nvStringComment from 'https://cdn.skypack.dev/nv-string-comment';
</script>

README

nv-string-comment

  • nv-string-comment

install

  • npm install nv-string-comment

usage

example

from string generator

const {
    STATE_DICT,
    TYPE_DICT,
    lc_from_generator,
    blk_from_generator
} = require("nv-string-comment")

const {sync_gen_from_str} = require("nv-string-stream")


> STATE_DICT
{ init: 0, executing: 1, succ: 2, eof: 3, asterisk: 4 }
>
> TYPE_DICT
{ line_comment: 0, blk_comment: 1 }
>




var lc = "abc\\tx xx\n"
var g = sync_gen_from_str(lc)
var pre_padding = "我你他"
lc_from_generator(g,pre_padding)

{ state: 2,   //STATE_DICT.succ
  g: Object [Generator] {}, 
  rslt: '我你他abc\tx xx', 
  ch: '' 
}



var lc = "abc\\tx xx\r"
var g = sync_gen_from_str(lc)
lc_from_generator(g,pre_padding)

{
    state: 2, //STATE_DICT.succ
    g: Object [Generator] {},
    rslt: '我你他abc\tx xx',
    ch: ''
}


var lc = "abc\\t\nrttt"
var g = sync_gen_from_str(lc)
var d = lc_from_generator(g,pre_padding)
/*
{ state: 2, g: Object [Generator] {}, rslt: '我你他abc\t', ch: '' }
> d.g.next()
{ value: 'r', done: false }
> d.g.next()
{ value: 't', done: false }
> d.g.next()
{ value: 't', done: false }
> d.g.next()
{ value: 't', done: false }
>

*/


var lc = "abc"
var g = sync_gen_from_str(lc)
var d = lc_from_generator(g)
 > d
 { state: 3, //STATE_DICT.eof
   g: Object [Generator] {}, rslt: 'abc', ch: '' }
 > STATE_DICT.eof
 3


var lc = "abc\\"
var g = sync_gen_from_str(lc)
var d = lc_from_generator(g)

> d
{ state: 1, g: Object [Generator] {}, rslt: 'abc', ch: '\\' }
> STATE_DICT.executing
1
>




var bc = "abc\ndef\tghi*/"
var g = sync_gen_from_str(bc)
var pre_padding = "我你他"
var d = blk_from_generator(g,pre_padding)

> d
{
  state: 2,
  g: Object [Generator] {},
  rslt: '我你他abc\ndef\tghi',
  ch: ''
}
> STATE_DICT.succ
2
>


var bc = "abc\nd\\u0000ef\tghi*"
var g = sync_gen_from_str(bc)
var d = blk_from_generator(g,pre_padding)

> d
{
  state: 4,
  g: Object [Generator] {},
  rslt: '我你他abc\nd\x00ef\tghi',
  ch: '*'
}
>
> STATE_DICT.asterisk
4
>


var bc = "abc\nd\\u0000ef\tghi"
var g = sync_gen_from_str(bc)
var d = blk_from_generator(g,pre_padding)

> d
{
  state: 3,
  g: Object [Generator] {},
  rslt: '我你他abc\nd\x00ef\tghi',
  ch: ''
}

> STATE_DICT.eof
3
>


var bc = "abc\nd\\u0000ef\tghi\\"
var g = sync_gen_from_str(bc)
var d = blk_from_generator(g,pre_padding)
> d
{
  state: 1,
  g: Object [Generator] {},
  rslt: '我你他abc\nd\x00ef\tghi',
  ch: '\\'
}
> STATE_DICT.executing
1
>

API

  • STATE_DICT
  • lc_from_generator(g,pre_padding='')
  • blk_from_generator(g,pre_padding='')
  • TYPE_DICT
  • from_generator(g,typ,pre_padding='')

LICENSE

  • ISC