mapFlutterPurchaseResultToPurchaseResult function

ProductPurchaseResult mapFlutterPurchaseResultToPurchaseResult(
  1. FlutterProductPurchaseResult purchaseResult
)

Implementation

ProductPurchaseResult mapFlutterPurchaseResultToPurchaseResult(
    FlutterProductPurchaseResult purchaseResult) {
  if (purchaseResult.cancelled case Cancelled cancelled) {
    return CancelProductPurchaseResult._(
        purchaseId: cancelled.purchaseId,
        purchaseType:
            mapFlutterPurchaseTypeToPurchaseType(cancelled.purchaseType));
  } else if (purchaseResult.failure case Failure failure) {
    return FailureProductPurchaseResult._(
        orderId: failure.orderId,
        purchaseId: failure.purchaseId,
        productId: failure.productId,
        invoiceId: failure.invoiceId,
        quantity: failure.quantity,
        purchaseType:
            mapFlutterPurchaseTypeToPurchaseType(failure.purchaseType),
        errorMessage: failure.errorMessage);
  } else if (purchaseResult.success case Success success) {
    return SuccessProductPurchaseResult._(
      orderId: success.orderId,
      purchaseId: success.purchaseId,
      productId: success.productId,
      invoiceId: success.invoiceId,
      purchaseType: mapFlutterPurchaseTypeToPurchaseType(success.purchaseType),
      sandbox: success.sandbox,
    );
  } else {
    return UnknownProductPurchaseResult(cause: 'Unknown purchase result');
  }
}