1.0.15 • Published 4 months ago

nv-buf-jstr v1.0.15

Weekly downloads
-
License
ISC
Repository
-
Last release
4 months ago

nv-buf-jstr

  • nv-buf-jstr
  • a jstr step-decoder, input stri each time. return-code-point-if-success , return-undefined-if-in-waiting-more-bytes
  • support two-modes: auto-recover AND throw-error
  • can observe state : 'INIT','H','L','ERROR'
  • its for local decode from string , normally USELESS

install

  • npm install nv-buf-jstr

usage

     const {decd} = require("nv-buf-jstr");
     const {Mach} = decd.mach;
     

example

            var mach = new Mach()

            var s = "我𝑒你"

            > s[0]
            '我'
            > s[1]
            '�'
            > s[2]
            '�'
            > s[3]
            '你'
            > 



        var s = "我𝑒你"

        > s[0]
        '我'
        > s[1]
        '�'
        > s[2]
        '�'
        > s[3]
        '你'
        > 

        > s.charCodeAt(0)
        25105
        > s.charCodeAt(1)
        55349
        > s.charCodeAt(2)
        56402
        > s.charCodeAt(3)
        20320
        > 

        var mach = new Mach()
        > mach.input(s[0])
        25105

        > mach.input(s[1])

        > mach
        Mach(5) [{"cursor":4,"state":"H","data":[55349],"err_b16":0}] [
          4,
          18,
          0,
          55349,
          0
        ]
        > 

        > mach.input(s[2])
        119890                    //'𝑒'.codePointAt(0)
        > 

        > mach.input(s[3])
        20320
        > 

METHODS

decode

    mach.cursor_                  mach.dict
    mach.disable_auto_recover     mach.enable_auto_recover      mach.err_b16_
    mach.input                    mach.is_auto_recover_enabled  mach.is_err
    mach.is_high                  mach.is_init                  mach.lefted_
    mach.reset                    mach.state_code_              mach.state_name_

API

decode

    {
      is_high_surrogate: [Function: is_high_surrogate],
      is_low_surrogate: [Function: is_low_surrogate],
      is_not_surrogate: [Function: is_not_surrogate],
      surrogate_to_code: [Function: surrogate_to_code],
      b16arr_to_code: [Function: b16arr_to_code]
    }

LICENSE

  • ISC