docs: function batch(ops) {
    var commands = [], url;
  
    for (let i = 0; i < ops.length; i++) {
      let { key, value } = ops[i],
        { table, schema } = findSchemaAndTable(key),
        map = columnToValueMap('id', key);
  
      columnToValueMap('data', wrapJSONStringInObject(key, value), map);
  
      // add url column to map if putting a uri
      if (isUri(key)) {
        url = decode(key.split('/_uris/').pop());
  
        columnToValueMap('url', url, map);
      }
  
      commands.push(onConflictPut(map, schema, table).then(() => map.data));
    }
  
    return Promise.all(commands);
  }