checkFiles function

dynamic checkFiles(
  1. String path, {
  2. bool? fresh,
})

Implementation

checkFiles(String path, {bool? fresh}) async {
  await checkAndCreateHTMLFile('page.html', path);
  await checkAndCreateHTMLFile('uxp-mobile.html', path);

  List<Map<String, String>> files = [
    {
      'fileName': 'react.production.min.js',
      'downloadPath':
          'https://uxp.s3.amazonaws.com/packages/react-16/react.production.min.js'
    },
    {
      'fileName': 'react-dom.production.min.js',
      'downloadPath':
          'https://uxp.s3.amazonaws.com/packages/react-16/react-dom.production.min.js'
    },
    {
      'fileName': 'prop-types.min.js',
      'downloadPath':
          'https://uxp.s3.amazonaws.com/packages/prop-types/prop-types.min.js'
    },
    {
      'fileName': 'Recharts.min.js',
      'downloadPath':
          'https://uxp.s3.amazonaws.com/packages/recharts/1.8.5/Recharts.min.js'
    },
    {
      'fileName': 'experimental-main.js',
      'downloadPath': 'https://uxp.s3.amazonaws.com/dist/experimental/main.js'
    },
    {
      'fileName': 'lucy-components-main.js',
      'downloadPath': IvivaAccount()
          .getAccountPath('/Resources/Lucy/lucy-components/dist/main.js')
    },
    {
      'fileName': 'widget-designer-main.js',
      'downloadPath':
          'https://uxp.s3.amazonaws.com/widget-designer/dist/main.js'
    },
    {
      'fileName': 'font-awesome-main.js',
      'downloadPath':
          IvivaAccount().getAccountPath('/Resources/UXP/font-awesome/main.js')
    },
    {
      'fileName': 'experimental-uxp_dashboard.css',
      'downloadPath':
          'https://uxp.s3.amazonaws.com/dist/experimental/uxp_dashboard.css'
    },
    {
      'fileName': 'uxp_dashboard.css',
      'downloadPath':
          'https://uxp.s3.amazonaws.com/dist/master/uxp_dashboard.css'
    },
    {
      'fileName': 'main.js',
      'downloadPath': 'https://uxp.s3.amazonaws.com/dist/master/main.js'
    },
  ];

  for (var i = 0; i < files.length; i++) {
    if (fresh == true) {
      final File file = File(<String>{path, 'www', files[i]['fileName']!}
          .join(Platform.pathSeparator));
      await file.delete();
    }
    if (!checkFile(files[i]['fileName']!, path)) {
      await downloadFile(
          files[i]['fileName']!, files[i]['downloadPath']!, path);
    } else {
      await checkLatest(files[i]['fileName']!, files[i]['downloadPath']!, path);
    }
  }
  return;
}