docs: function proxyMethods(exec, query) {
      const methods = [].concat(END_POINT_METHODS).concat(CHAINABLE_METHODS);
      for (let name of methods) {
          const oldMethod = query[name];
          query[name] = function (...args) {
              const clonedQuery = query.clone();
              proxyMethods(exec, clonedQuery);
              oldMethod.apply(clonedQuery, args);
              if (CHAINABLE_METHODS.indexOf(name) > -1) {
                  return clonedQuery;
              } else {
                  return exec(clonedQuery.toString());
              }
          }
      }
  }