feat(dart/transform): Add a .ng_deps.dart
file parser.
Create a common, reusable `.ng_deps.dart` file parser. All future transformer phases build on the information in `.ng_deps.dart` files.
This commit is contained in:
26
modules/angular2/src/transform/common/asset_reader.dart
Normal file
26
modules/angular2/src/transform/common/asset_reader.dart
Normal file
@ -0,0 +1,26 @@
|
||||
library angular2.src.transform.common.asset_reader;
|
||||
|
||||
import 'dart:async';
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:barback/barback.dart';
|
||||
|
||||
abstract class AssetReader {
|
||||
Future<String> readAsString(AssetId id, {Encoding encoding});
|
||||
Future<bool> hasInput(AssetId id);
|
||||
|
||||
/// Creates an [AssetReader] using the `transform`, which should be a
|
||||
/// [Transform] or [AggregateTransform].
|
||||
factory AssetReader.fromTransform(dynamic transform) =>
|
||||
new _TransformAssetReader(transform);
|
||||
}
|
||||
|
||||
class _TransformAssetReader implements AssetReader {
|
||||
final dynamic t;
|
||||
_TransformAssetReader(this.t);
|
||||
|
||||
Future<String> readAsString(AssetId id, {Encoding encoding}) =>
|
||||
t.readInputAsString(id, encoding: encoding);
|
||||
|
||||
Future<bool> hasInput(AssetId id) => t.hasInput(id);
|
||||
}
|
Reference in New Issue
Block a user