function genImportFixRange()

in src/rule-generated-flow-types.js [33:61]


function genImportFixRange(type, imports, requires) {
  const typeImports = imports.filter(node => node.importKind === 'type');
  const alreadyHasImport = typeImports.some(node =>
    node.specifiers.some(
      specifier => (specifier.imported || specifier.local).name === type
    )
  );
  if (alreadyHasImport) {
    return null;
  }
  if (typeImports.length > 0) {
    let precedingImportIndex = 0;
    while (
      typeImports[precedingImportIndex + 1] &&
      getTypeImportName(typeImports[precedingImportIndex + 1]) < type
    ) {
      precedingImportIndex++;
    }
    return typeImports[precedingImportIndex].range;
  }
  if (imports.length > 0) {
    return imports[imports.length - 1].range;
  }
  if (requires.length > 0) {
    return requires[requires.length - 1].range;
  }
  // start of file
  return [0, 0];
}