| Index: mojo/public/dart/third_party/barback/lib/src/asset/asset.dart
|
| diff --git a/mojo/public/dart/third_party/barback/lib/src/asset/asset.dart b/mojo/public/dart/third_party/barback/lib/src/asset/asset.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..c0f11bade6c0f8e5aa80bc6abb1cc0be5920e9d6
|
| --- /dev/null
|
| +++ b/mojo/public/dart/third_party/barback/lib/src/asset/asset.dart
|
| @@ -0,0 +1,50 @@
|
| +// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
|
| +// for details. All rights reserved. Use of this source code is governed by a
|
| +// BSD-style license that can be found in the LICENSE file.
|
| +
|
| +library barback.asset.asset;
|
| +
|
| +import 'dart:async';
|
| +import 'dart:io';
|
| +import 'dart:convert';
|
| +
|
| +import 'asset_id.dart';
|
| +import 'internal_asset.dart';
|
| +
|
| +/// A blob of content.
|
| +///
|
| +/// Assets may come from the file system, or as the output of a [Transformer].
|
| +/// They are identified by [AssetId].
|
| +///
|
| +/// Custom implementations of [Asset] are not currently supported.
|
| +abstract class Asset {
|
| + /// The ID for this asset.
|
| + final AssetId id;
|
| +
|
| + factory Asset.fromBytes(AssetId id, List<int> bytes) =>
|
| + new BinaryAsset(id, bytes);
|
| +
|
| + factory Asset.fromFile(AssetId id, File file) =>
|
| + new FileAsset(id, file.path);
|
| +
|
| + factory Asset.fromString(AssetId id, String content) =>
|
| + new StringAsset(id, content);
|
| +
|
| + factory Asset.fromPath(AssetId id, String path) =>
|
| + new FileAsset(id, path);
|
| +
|
| + factory Asset.fromStream(AssetId id, Stream<List<int>> stream) =>
|
| + new StreamAsset(id, stream);
|
| +
|
| + /// Returns the contents of the asset as a string.
|
| + ///
|
| + /// If the asset was created from a [String] the original string is always
|
| + /// returned and [encoding] is ignored. Otherwise, the binary data of the
|
| + /// asset is decoded using [encoding], which defaults to [UTF8].
|
| + Future<String> readAsString({Encoding encoding});
|
| +
|
| + /// Streams the binary contents of the asset.
|
| + ///
|
| + /// If the asset was created from a [String], this returns its UTF-8 encoding.
|
| + Stream<List<int>> read();
|
| +}
|
|
|