pub(super) fn ensure_loader_imports(source: &str) -> String {
let mut result = source.to_string();
let needed = [
("import 'dart:core';", "import 'dart:core';\n"),
("import 'dart:core' as _DartCore;", "import 'dart:core' as _DartCore;\n"),
("import 'dart:io';", "import 'dart:io';\n"),
("import 'dart:isolate';", "import 'dart:isolate';\n"),
("import 'dart:ffi';", "import 'dart:ffi';\n"),
];
let anchor = result.find("\nimport ").map(|i| i + 1);
for (probe, line) in needed {
if result.contains(probe) {
continue;
}
match anchor {
Some(pos) => result.insert_str(pos, line),
None => result.insert_str(0, line),
}
}
const SENTINEL: &str = "\u{FEFF}__ALEF_URI_PARSE__\u{FEFF}";
result = result.replace("_DartCore.Uri.parse(", SENTINEL);
result = result.replace("Uri.parse(", "_DartCore.Uri.parse(");
result = result.replace(SENTINEL, "_DartCore.Uri.parse(");
result
}