ServerImports constructor

ServerImports(
  1. Iterable<String> imports
)

Implementation

ServerImports(Iterable<String> imports) {
  final paths = <String>{};
  final packages = <String>{};

  for (final import in imports) {
    if (import.startsWith('dart:')) {
      continue;
    }

    if (import.startsWith('file:')) {
      final cleanedImport = p.relative(
        import.replaceFirst(RegExp('^file:'), ''),
      );

      paths.add(cleanedImport);
      continue;
    }

    if (import.startsWith('package:')) {
      packages.add(import);
      continue;
    }

    throw ArgumentError('Invalid import: $import');
  }

  this.paths = paths;
  this.packages = packages;
}