1.0.3 • Published 2 years ago

nv-ecma-completion-record v1.0.3

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

nv-ecma-completion-record

install

  • npm install nv-ecma-completion-record

usage

 const {CompletionRecord} = require("nv-ecma-completion-record")

example

    > const {CompletionRecord} = require("nv-ecma-completion-record")
    > var cr = new CompletionRecord()
    > cr
    CompletionRecord(3) [ Type(1) [ 0 ], undefined, undefined ]


    cr.length

    > cr.__Type__.stringify()
    'normal'
    > cr.__Type__.is_normal()
    true

METHODS

CompletionRecord

cr.__Target__            cr.__Type__              cr.__Value__   
cr.is_empty()
cr._dupe_with_cloned_value()
cr._dupe_with_orig_value()
cr._dupe_with_empty_value()
cr._dupe_with_new_value(V)

Type

cr.__Type__.is_abrupt             
cr.__Type__.is_break
cr.__Type__.is_continue           
cr.__Type__.is_normal             
cr.__Type__.is_return
cr.__Type__.is_throw    
          
cr.__Type__._is_valid              

cr.__Type__.set_to_break
cr.__Type__.set_to_continue       
cr.__Type__.set_to_normal         
cr.__Type__.set_to_rtrn
cr.__Type__.set_to_throw   
       
cr.__Type__._stringify
cr.__Type__._clone

APIS

CompletionRecord

    {
      PROPS: [ '__Type__', '__Value__', '__Target__' ],
      PROP_MIRR: {
        __Type__: '[[Type]]',
        '[[Type]]': '__Type__',
        __Value__: '[[Value]]',
        '[[Value]]': '__Value__',
        __Target__: '[[Target]]',
        '[[Target]]': '__Target__'
      },
      ERRORS: Error(1) { 'value_cant_be_empty_if_type_is_return_or_throw' },
      ////
      CompletionRecord: [class CompletionRecord extends Array],
      ////
      NormalCompletion: [Function: NormalCompletion],
      ThrowCompletion: [Function: ThrowCompletion],
      UpdateEmpty: [Function: UpdateEmpty],
      ContinueCompletion(label),
      BreakCompletion(label),
      ReturnCompletion(V),
    }

Type

    {
      TYPES: {
        '0': 'normal',
        '1': 'break',
        '2': 'continue',
        '3': 'return',
        '4': 'throw',
        normal: 0,
        break: 1,
        continue: 2,
        return: 3,
        throw: 4
      },
      ERRORS: Error(2) { 'unreachable', 'must_be_0_or_1_or_2_or_3_or_4' },
      _validate: [Function: _validate],
      _check: [Function: _check],
      creat_normal: [Function: creat_normal],
      creat_break: [Function: creat_break],
      creat_continue: [Function: creat_continue],
      creat_return: [Function: creat_return],
      creat_throw: [Function: creat_throw]
    }

LICENSE

  • ISC