load<T> method
Load as string
Implementation
Future<T> load<T>() async {
var result = _data[T];
if ( result == null) {
try {
if (T == String)
result = await rootBundle.loadString("assets/$path");
else if (T == Uint8List) {
final bytes = await rootBundle.load("assets/$path");
result = bytes.buffer.asUint8List();
}
else if (T == Map<String, dynamic>) {
var str = await load<String>();
result = jsonDecode(str);
}
_data[T] = result;
}
on AssetLoaderException {
rethrow;
}
on Exception catch (e) {
throw AssetLoaderException("error loading asset", cause: e, path: "assets/$path");
}
catch(e) {
print(e);
}
}
return _data[T];
}