income method

  1. @override
Future<Income> income(
  1. SecurityIdentifier id, {
  2. String? currency,
  3. Freq mode = Freq.annual,
})
override

The income method is used to get the income statement for a given stock symbol. By default, the income statement is returned in EUR. You can specify a different currency by passing the currency argument.

The mode argument is used to specify the mode of the income statement. The id argument is used to specify the stock id. The currency argument is used to specify the currency.

// Get income statement for Apple in EUR
final client = BavestRestClient(api_key);
final income = client.income(SecurityIdentifier(symbol: "AAPL"), currency: 'EUR', mode: FinancialsMode.annual);

Implementation

@override
Future<Income> income(SecurityIdentifier id,
    {String? currency, Freq mode = Freq.annual}) async {
  const url = '$_baseUrl/stock/financials';
  final freq = mode == Freq.annual ? "annual" : "quarterly";
  final params = {
    "statement": "ic",
    "currency": currency ?? "EUR",
    "freq": freq
  }..addAll(id.toJson());

  var response = await _post(url, params);
  if (_isSuccess(response)) {
    return Income.fromJson(jsonDecode(response!.data));
  }

  throw Exception("could not retrieve data for $id");
}