storekit-rs 0.2.0

Safe Rust bindings for Apple's StoreKit framework — in-app purchases and transaction streams on macOS
Documentation
#![doc = include_str!("../README.md")]
#![cfg_attr(docsrs, feature(doc_cfg))]
#![allow(
    clippy::missing_errors_doc,
    clippy::module_name_repetitions,
    clippy::must_use_candidate
)]

pub mod app_store;
pub mod app_transaction;
pub mod error;
mod ffi;
pub mod message;
mod private;
pub mod product;
pub mod purchase_option;
pub mod receipt_validator;
pub mod refund;
pub mod renewal_info;
pub mod renewal_state;
pub mod store_context;
pub mod storefront;
pub mod subscription;
pub mod subscription_info;
pub mod transaction;
pub mod verification_result;

pub use app_store::{AppStore, AppStoreEnvironment, AppStorePlatform};
pub use app_transaction::AppTransaction;
pub use error::{
    StoreKitError, StoreKitFrameworkError, VerificationErrorCode, VerificationFailure,
};
pub use message::{Message, MessageReason, MessageStream};
pub use product::{Product, ProductType};
pub use purchase_option::{PurchaseOption, PurchaseResult};
pub use receipt_validator::{AppReceipt, ReceiptValidator};
pub use refund::{Refund, RefundRequestStatus};
pub use renewal_info::{ExpirationReason, PriceIncreaseStatus, RenewalInfo};
pub use renewal_state::RenewalState;
pub use store_context::StoreContext;
pub use storefront::{Storefront, StorefrontStream};
pub use subscription::{
    SubscriptionOffer, SubscriptionOfferType, SubscriptionPaymentMode, SubscriptionPeriod,
    SubscriptionPeriodUnit,
};
pub use subscription_info::{SubscriptionInfo, SubscriptionStatus};
pub use transaction::{
    OfferPaymentMode, OfferType, OwnershipType, RevocationReason, Transaction, TransactionData,
    TransactionOffer, TransactionReason, TransactionStream,
};
pub use verification_result::{VerificationMetadata, VerificationResult};

/// Common imports.
pub mod prelude {
    pub use crate::app_store::{AppStore, AppStoreEnvironment, AppStorePlatform};
    pub use crate::app_transaction::AppTransaction;
    pub use crate::error::{
        StoreKitError, StoreKitFrameworkError, VerificationErrorCode, VerificationFailure,
    };
    pub use crate::message::{Message, MessageReason, MessageStream};
    pub use crate::product::{Product, ProductType};
    pub use crate::purchase_option::{PurchaseOption, PurchaseResult};
    pub use crate::receipt_validator::{AppReceipt, ReceiptValidator};
    pub use crate::refund::{Refund, RefundRequestStatus};
    pub use crate::renewal_info::{ExpirationReason, PriceIncreaseStatus, RenewalInfo};
    pub use crate::renewal_state::RenewalState;
    pub use crate::store_context::StoreContext;
    pub use crate::storefront::{Storefront, StorefrontStream};
    pub use crate::subscription::{
        SubscriptionOffer, SubscriptionOfferType, SubscriptionPaymentMode, SubscriptionPeriod,
        SubscriptionPeriodUnit,
    };
    pub use crate::subscription_info::{SubscriptionInfo, SubscriptionStatus};
    pub use crate::transaction::{
        OfferPaymentMode, OfferType, OwnershipType, RevocationReason, Transaction, TransactionData,
        TransactionOffer, TransactionReason, TransactionStream,
    };
    pub use crate::verification_result::{VerificationMetadata, VerificationResult};
}