code: async function main(inputDir) {
    const index = new Index();
    try {
      const files = await readdir(inputDir);
  
      // Get a list of all files in the directory (filter out other directories)
      const allImageFiles = (await Promise.all(
        files.map(async file => {
          const filename = path.join(inputDir, file);
          const stats = await stat(filename);
          if (!stats.isDirectory()) {
            return filename;
          }
        })
      )).filter(f => !!f);
  
      // Figure out which files have already been processed
      let imageFilesToProcess = (await Promise.all(
        allImageFiles.map(async filename => {
          const processed = await index.documentIsProcessed(filename);
          if (!processed) {
            // Forward this filename on for further processing
            return filename;
          }
        })
      )).filter(file => !!file);
  
      // The batch endpoint won't handle
      if (imageFilesToProcess.length > 15) {
        console.log(
          'Maximum of 15 images allowed. Analyzing the first 15 found.'
        );
        imageFilesToProcess = imageFilesToProcess.slice(0, 15);
      }
  
      // Analyze any remaining unprocessed files
      if (imageFilesToProcess.length > 0) {
        console.log('Files to process: ');
        await getTextFromFiles(index, imageFilesToProcess);
      }
      console.log('All files processed!');
    } catch (e) {
      console.error(e);
    }
    index.quit();
  }
docs: Main entry point for the program.
  @param {string} inputDir The directory in which to run the sample.
  @returns {Promise<void>}