Skip to content

Commit

Permalink
Cache if containingUrl is not available
Browse files Browse the repository at this point in the history
  • Loading branch information
ntkme committed Apr 13, 2024
1 parent 9fd6296 commit 36943ad
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 16 deletions.
14 changes: 6 additions & 8 deletions lib/src/async_import_cache.dart
Original file line number Diff line number Diff line change
Expand Up @@ -207,18 +207,16 @@ final class AsyncImportCache {
/// that result is cacheable at all.
Future<(AsyncCanonicalizeResult?, bool cacheable)> _canonicalize(
AsyncImporter importer, Uri url, Uri? baseUrl, bool forImport) async {
var canonicalizeContext = CanonicalizeContext(
baseUrl != null &&
(url.scheme == '' ||
await importer.isNonCanonicalScheme(url.scheme))
? baseUrl
: null,
forImport);
var containingUrlAvailable =
(url.scheme == '' || await importer.isNonCanonicalScheme(url.scheme));
var canonicalizeContext =
CanonicalizeContext(containingUrlAvailable ? baseUrl : null, forImport);

var result = await withCanonicalizeContext(
canonicalizeContext, () => importer.canonicalize(url));

var cacheable = !canonicalizeContext.wasContainingUrlAccessed;
var cacheable = !containingUrlAvailable ||
!canonicalizeContext.wasContainingUrlAccessed;

if (result == null) return (null, cacheable);

Expand Down
15 changes: 7 additions & 8 deletions lib/src/import_cache.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
// DO NOT EDIT. This file was generated from async_import_cache.dart.
// See tool/grind/synchronize.dart for details.
//
// Checksum: 1a0d1c1f2a0ddf0d18b9a0af9636d99a58bec770
// Checksum: 3c180aa4cb4ccae770c2c53d3801fa13873fc17d
//
// ignore_for_file: unused_import

Expand Down Expand Up @@ -207,17 +207,16 @@ final class ImportCache {
/// that result is cacheable at all.
(CanonicalizeResult?, bool cacheable) _canonicalize(
Importer importer, Uri url, Uri? baseUrl, bool forImport) {
var canonicalizeContext = CanonicalizeContext(
baseUrl != null &&
(url.scheme == '' || importer.isNonCanonicalScheme(url.scheme))
? baseUrl
: null,
forImport);
var containingUrlAvailable =
(url.scheme == '' || importer.isNonCanonicalScheme(url.scheme));
var canonicalizeContext =
CanonicalizeContext(containingUrlAvailable ? baseUrl : null, forImport);

var result = withCanonicalizeContext(
canonicalizeContext, () => importer.canonicalize(url));

var cacheable = !canonicalizeContext.wasContainingUrlAccessed;
var cacheable = !containingUrlAvailable ||
!canonicalizeContext.wasContainingUrlAccessed;

if (result == null) return (null, cacheable);

Expand Down

0 comments on commit 36943ad

Please sign in to comment.