function getFiles(value) {
  if (Array.isArray(value) || Iterable.isIterable(value)) {
    const arr = Array.isArray(value) ? value : value.toJS();
    return isFileGroup(arr) ? getFileGroup(arr) : Promise.all(arr.map(val => getFile(val)));
  }
  return value && typeof value === 'string' ? getFile(value) : null;
}
Convert a url or array/List of urls to Uploadcare file objects wrapped in
promises, or Uploadcare groups when possible. Output is wrapped in a promise
because the value we're returning may be a promise that we created.