code: function applyModelViewRecord (raw) {
      // if record is cached view then do not reprocess
      if (raw._cachedView) {
          return Promise.resolve(raw)
      }
      // if there are synchronous views then do sync apply
      if (this.hasRecordSynchronous) {
          this.applyModelViewRecordSynchronous(raw)
      }
      // if there are asychronous views then do async apply
      if (this.hasRecordAsynchronous) {
          return this.applyModelViewRecordAsynchronous(raw)
      }
      // otherwise resolve with result
      else {
          return Promise.resolve(raw)
      }
  }
docs: @function applyModelViewRecord
  
  apply record views to db response
  
  @param {object} raw
  
  @returns {Promise}