@@ -228,7 +228,7 @@ final class BuildInputMetadata {
228228  BuildInputMetadata ._(this ._input);
229229
230230  /// The metadata emitted by the build hook of package [packageName] . 
231- PackageMetadata  operator  [](String  packageName) =>  PackageMetadata (
231+ PackageMetadata  operator  [](String  packageName) =>  PackageMetadata ._ (
232232    (_input.assets.encodedAssets[packageName] ??  [])
233233        .where ((e) =>  e.isMetadataAsset)
234234        .map ((e) =>  e.asMetadataAsset)
@@ -238,8 +238,7 @@ final class BuildInputMetadata {
238238
239239/// The metadata from a specific package, available in [BuildInput.metadata] . 
240240final  class  PackageMetadata  {
241-   /// Creates a [PackageMetadata]  from the given metadata. 
242- PackageMetadata (this ._metadata);
241+   PackageMetadata ._(this ._metadata);
243242
244243  final  List <MetadataAsset > _metadata;
245244
@@ -258,7 +257,7 @@ final class BuildInputAssets {
258257Map <String , List <EncodedAsset >> get  encodedAssets =>  {
259258    for  (final  MapEntry (: key, : value)
260259        in  (_input._syntaxBuildInput.assets ??  {}).entries)
261-       key:  _parseAssets (value),
260+       key:  EncodedAssetSyntax . _fromSyntax (value),
262261  };
263262
264263  /// The encoded assets from the direct dependency [packageName] . 
@@ -334,7 +333,7 @@ final class BuildConfigBuilder extends HookConfigBuilder {
334333final  class  LinkInput  extends  HookInput  {
335334  List <EncodedAsset > get  _encodedAssets {
336335    final  assets =  _syntaxLinkInput.assets;
337-     return  _parseAssets (assets);
336+     return  EncodedAssetSyntax . _fromSyntax (assets);
338337  }
339338
340339  /// The file containing recorded usages, if any. 
@@ -407,12 +406,18 @@ final class LinkConfigBuilder extends HookConfigBuilder {
407406  LinkConfigBuilder ._(super .builder) :  super ._();
408407}
409408
410- List <EncodedAsset > _parseAssets (List <AssetSyntax >?  assets) =>  assets ==  null 
411-     ?  []
412-     :  [
413-         for  (final  asset in  assets)
414-           EncodedAsset .fromJson (asset.json, asset.path),
415-       ];
409+ /// Extension methods for [EncodedAsset]  to convert to and from the syntax 
410+ /// model. 
411+ extension  EncodedAssetSyntax  on  List <EncodedAsset > {
412+   static  List <EncodedAsset > _fromSyntax (List <AssetSyntax >?  assets) {
413+     if  (assets ==  null ) {
414+       return  [];
415+     }
416+     return  [
417+       for  (final  asset in  assets) EncodedAsset .fromJson (asset.json, asset.path),
418+     ];
419+   }
420+ }
416421
417422/// The output from a `hook/build.dart`  or `hook/link.dart` . 
418423/// 
@@ -442,7 +447,8 @@ sealed class HookOutput {
442447List <Uri > get  dependencies =>  _syntax.dependencies ??  [];
443448
444449  /// The assets produced by this build. 
445- List <EncodedAsset > get  _encodedAssets =>  _parseAssets (_syntax.assets);
450+ List <EncodedAsset > get  _encodedAssets => 
451+       EncodedAssetSyntax ._fromSyntax (_syntax.assets);
446452
447453  HookOutputSyntax  get  _syntax;
448454
@@ -513,11 +519,11 @@ final class BuildOutput extends HookOutput implements BuildOutputMaybeFailure {
513519Map <String , List <EncodedAsset >> get  _encodedAssetsForLinking =>  {
514520    for  (final  MapEntry (: key, : value)
515521        in  (_syntax.assetsForLinking ??  {}).entries)
516-       key:  _parseAssets (value),
522+       key:  EncodedAssetSyntax . _fromSyntax (value),
517523  };
518524
519525  List <EncodedAsset > get  _encodedAssetsForBuild => 
520-       _parseAssets (_syntax.assetsForBuild ??  []);
526+       EncodedAssetSyntax . _fromSyntax (_syntax.assetsForBuild ??  []);
521527
522528  @override 
523529  final  BuildOutputSyntax  _syntax;
0 commit comments