docs: function (error, data, schema, indent) {
          var schemaValue;
          var dataValue;
          var schemaLabel;
  
          // assemble error string
          var ret = '';
          ret += '\n' + indent + error.message;
  
          schemaLabel = extractSchemaLabel(schema, 60);
          if (schemaLabel) {
            ret += '\n' + indent + '    schema: ' + schemaLabel;
          }
          if (error.schemaPath) {
            schemaValue = jsonpointer.get(schema, error.schemaPath);
            ret += '\n' + indent + '    rule:   ' + error.schemaPath + ' -> ' + valueStrim(schemaValue);
          }
          if (error.dataPath) {
            dataValue = jsonpointer.get(data, error.dataPath);
            ret += '\n' + indent + '    field:  ' + error.dataPath + ' -> ' + utils.type(dataValue) + ': ' + valueStrim(dataValue);
          }
  
          // sub errors are not implemented (yet?)
          // https://github.com/chaijs/chai-json-schema/issues/3
          /*if (error.subErrors) {
           forEachI(error.subErrors, function (error) {
           ret += formatResult(error, data, schema, indent + indent);
           });
           }*/
          return ret;
        }