@@ -228,7 +228,7 @@ final class BuildInputMetadata {
228
228
BuildInputMetadata ._(this ._input);
229
229
230
230
/// The metadata emitted by the build hook of package [packageName] .
231
- PackageMetadata operator [](String packageName) => PackageMetadata (
231
+ PackageMetadata operator [](String packageName) => PackageMetadata ._ (
232
232
(_input.assets.encodedAssets[packageName] ?? [])
233
233
.where ((e) => e.isMetadataAsset)
234
234
.map ((e) => e.asMetadataAsset)
@@ -238,8 +238,7 @@ final class BuildInputMetadata {
238
238
239
239
/// The metadata from a specific package, available in [BuildInput.metadata] .
240
240
final class PackageMetadata {
241
- /// Creates a [PackageMetadata] from the given metadata.
242
- PackageMetadata (this ._metadata);
241
+ PackageMetadata ._(this ._metadata);
243
242
244
243
final List <MetadataAsset > _metadata;
245
244
@@ -258,7 +257,7 @@ final class BuildInputAssets {
258
257
Map <String , List <EncodedAsset >> get encodedAssets => {
259
258
for (final MapEntry (: key, : value)
260
259
in (_input._syntaxBuildInput.assets ?? {}).entries)
261
- key: _parseAssets (value),
260
+ key: EncodedAssetSyntax . _fromSyntax (value),
262
261
};
263
262
264
263
/// The encoded assets from the direct dependency [packageName] .
@@ -334,7 +333,7 @@ final class BuildConfigBuilder extends HookConfigBuilder {
334
333
final class LinkInput extends HookInput {
335
334
List <EncodedAsset > get _encodedAssets {
336
335
final assets = _syntaxLinkInput.assets;
337
- return _parseAssets (assets);
336
+ return EncodedAssetSyntax . _fromSyntax (assets);
338
337
}
339
338
340
339
/// The file containing recorded usages, if any.
@@ -407,12 +406,18 @@ final class LinkConfigBuilder extends HookConfigBuilder {
407
406
LinkConfigBuilder ._(super .builder) : super ._();
408
407
}
409
408
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
+ }
416
421
417
422
/// The output from a `hook/build.dart` or `hook/link.dart` .
418
423
///
@@ -442,7 +447,8 @@ sealed class HookOutput {
442
447
List <Uri > get dependencies => _syntax.dependencies ?? [];
443
448
444
449
/// The assets produced by this build.
445
- List <EncodedAsset > get _encodedAssets => _parseAssets (_syntax.assets);
450
+ List <EncodedAsset > get _encodedAssets =>
451
+ EncodedAssetSyntax ._fromSyntax (_syntax.assets);
446
452
447
453
HookOutputSyntax get _syntax;
448
454
@@ -513,11 +519,11 @@ final class BuildOutput extends HookOutput implements BuildOutputMaybeFailure {
513
519
Map <String , List <EncodedAsset >> get _encodedAssetsForLinking => {
514
520
for (final MapEntry (: key, : value)
515
521
in (_syntax.assetsForLinking ?? {}).entries)
516
- key: _parseAssets (value),
522
+ key: EncodedAssetSyntax . _fromSyntax (value),
517
523
};
518
524
519
525
List <EncodedAsset > get _encodedAssetsForBuild =>
520
- _parseAssets (_syntax.assetsForBuild ?? []);
526
+ EncodedAssetSyntax . _fromSyntax (_syntax.assetsForBuild ?? []);
521
527
522
528
@override
523
529
final BuildOutputSyntax _syntax;
0 commit comments