next = async () => {
    if (index === missingPreviewSizes.length) {
      return
    }

    const size = missingPreviewSizes[index++];
    const suffix = sizeToImagePreviewSuffix(size);

    if (storage.hasFile(entry, suffix)) {
      const localFile = await storage.createLocalFile(entry, suffix)
      existingFiles.push(localFile)
      src = localFile.file
      return next();
    }

    const newFile = await storage.createLocalFile(entry, suffix)
    newFiles.push(newFile)
    return imageResizer(src, newFile.file, size)
      .then(() => {
        createdPreviewSizes.push(size)
        src = newFile.file
        return next()
      })
  }
@type {import('@home-gallery/types').TLocalStorageFile}