syncStorePurchases method

  1. @override
Future<InappifySdkResult<List<PurchaseResult>>> syncStorePurchases()
override

Implementation

@override
Future<InappifySdkResult<List<PurchaseResult>>> syncStorePurchases() =>
    _invokeResult(
      method: InappifyChannelContract.syncStorePurchases,
      payload: const {},
      decodeData: (map) {
        final purchases = map['purchases'];
        if (purchases is! List) {
          throw const FormatException('Missing purchases.');
        }
        return List.unmodifiable(
          purchases.map((value) {
            if (value is! Map) {
              throw const FormatException('Invalid purchase.');
            }
            return PurchaseResult.fromJson(Map<String, dynamic>.from(value));
          }),
        );
      },
    );