1.0.3 • Published 2 years ago
nv-ecma-completion-record v1.0.3
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