sdkDirParent static method
Folder?
sdkDirParent(
- Folder folder,
- ResourceProvider resourceProvider
If folder
is inside a Dart SDK, returns the directory of the SDK, and
null
otherwise.
Implementation
static Folder? sdkDirParent(
Folder folder, ResourceProvider resourceProvider) {
var pathContext = resourceProvider.pathContext;
var dirPathCanonical = pathContext.canonicalize(folder.path);
if (!_sdkDirParent.containsKey(dirPathCanonical)) {
_sdkDirParent[dirPathCanonical] = null;
for (var dir in folder.withAncestors) {
if (_sdkDirFilePaths.every((List<String> l) {
return l.any((f) =>
resourceProvider.getFile(pathContext.join(dir.path, f)).exists);
})) {
_sdkDirParent[dirPathCanonical] = dir;
break;
}
}
}
return _sdkDirParent[dirPathCanonical];
}