code: function prevPoint(point, isSkipInnerOffset) {
    let node;
    let offset;
  
    if (point.offset === 0) {
      if (isEditable(point.node)) {
        return null;
      }
  
      node = point.node.parentNode;
      offset = position(point.node);
    } else if (hasChildren(point.node)) {
      node = point.node.childNodes[point.offset - 1];
      offset = nodeLength(node);
    } else {
      node = point.node;
      offset = isSkipInnerOffset ? 0 : point.offset - 1;
    }
  
    return {
      node: node,
      offset: offset,
    };
  }
docs: returns previous boundaryPoint
  
  @param {BoundaryPoint} point
  @param {Boolean} isSkipInnerOffset
  @return {BoundaryPoint}