resolveScreenAssets method

Future<AssetResolutionResult> resolveScreenAssets({
  1. required MiniProgramManifest manifest,
  2. required String screenId,
  3. required Map<String, dynamic> screenJson,
  4. required AssetCache assetCache,
  5. required SdkLogger logger,
})

Implementation

Future<AssetResolutionResult> resolveScreenAssets({
  required MiniProgramManifest manifest,
  required String screenId,
  required Map<String, dynamic> screenJson,
  required AssetCache assetCache,
  required SdkLogger logger,
}) async {
  if (!manifest.allowsEntryScreenStaleCache) {
    return AssetResolutionResult(
      screenJson: Map<String, dynamic>.from(screenJson),
    );
  }

  final stats = _AssetResolutionStats();
  final resolved = await _resolveValue(
    value: screenJson,
    manifest: manifest,
    screenId: screenId,
    assetCache: assetCache,
    logger: logger,
    stats: stats,
  );

  return AssetResolutionResult(
    screenJson: Map<String, dynamic>.from(resolved as Map),
    cachedAssetCount: stats.cachedAssetCount,
    downloadedAssetCount: stats.downloadedAssetCount,
    failedAssetCount: stats.failedAssetCount,
  );
}