docs: function processComputed (instance) {
    const computed = []
    const defs = instance.$options.computed || {}
    // use for...in here because if 'computed' is not defined
    // on component, computed properties will be placed in prototype
    // and Object.keys does not include
    // properties from object's prototype
    for (const key in defs) {
      const def = defs[key]
      const type = typeof def === 'function' && def.vuex
        ? 'vuex bindings'
        : 'computed'
      // use try ... catch here because some computed properties may
      // throw error during its evaluation
      let computedProp = null
      try {
        computedProp = {
          type,
          key,
          value: instance[key]
        }
      } catch (e) {
        computedProp = {
          type,
          key,
          value: '(error during evaluation)'
        }
      }
  
      computed.push(computedProp)
    }
  
    return computed
  }