function getNodeEndMark(_x) {
  var _again = true;

  _function: while (_again) {
    var ast = _x;
    _again = false;

    if ((0, _lodash.isArray)(ast.value) && ast.value.length) {
      var lastItem = (0, _lodash.last)(ast.value);

      if ((0, _lodash.isArray)(lastItem) && lastItem.length) {
        _x = (0, _lodash.last)(lastItem);
        _again = true;
        lastItem = undefined;
        continue _function;
      }

      _x = lastItem;
      _again = true;
      lastItem = undefined;
      continue _function;
    }

    return ast.end_mark;
  }
}
function getNodeEndMark(_x) {
  var _again = true;

  _function: while (_again) {
    var ast = _x;
    _again = false;

    if ((0, _lodash.isArray)(ast.value) && ast.value.length) {
      var lastItem = (0, _lodash.last)(ast.value);

      if ((0, _lodash.isArray)(lastItem) && lastItem.length) {
        _x = (0, _lodash.last)(lastItem);
        _again = true;
        lastItem = undefined;
        continue _function;
      }

      _x = lastItem;
      _again = true;
      lastItem = undefined;
      continue _function;
    }

    return ast.end_mark;
  }
}
function getNodeEndMark ( _x ) { var _again = true ; _function : while ( _again ) { var ast = _x ; _again = false ; if ( ( 0 , _lodash . isArray ) ( ast . value ) && ast . value . length ) { var lastItem = ( 0 , _lodash . last ) ( ast . value ) ; if ( ( 0 , _lodash . isArray ) ( lastItem ) && lastItem . length ) { _x = ( 0 , _lodash . last ) ( lastItem ) ; _again = true ; lastItem = undefined ; continue _function ; } _x = lastItem ; _again = true ; lastItem = undefined ; continue _function ; } return ast . end_mark ; } }
/*
Gets end mark of an AST

@param {Node} ast

@returns {Mark}
/ * Gets end mark of an AST