code: function createUriQueryMapper (query) {
    var parameters = extractQueryParameters(query);
    return (queryValues, args) => {
      queryValues = queryValues || Object.create(null);
  
      Object.keys(queryValues)
        .forEach(queryKey => {
          var parameter = parameters[queryKey];
  
          if (!parameter) {
            return;
          }
  
          var value = util.isArray(queryValues[queryKey]) ?
            queryValues[queryKey]
              .map(parameter.map)
              .filter(value => value !== null) :
            parameter.map(queryValues[queryKey]);
  
          if (value === null) {
            return;
          }
  
          args[parameter.name] = value;
        });
    };
  }
docs: Creates new URI query-to-args object mapper.
  @param {String} query Query string from uri mapping
  query parameter names.
  @returns {Function} URI mapper function.