Skip to main content

storekit/
lib.rs

1#![doc = include_str!("../README.md")]
2#![cfg_attr(docsrs, feature(doc_cfg))]
3#![allow(
4    clippy::missing_errors_doc,
5    clippy::module_name_repetitions,
6    clippy::must_use_candidate
7)]
8
9#[cfg(feature = "async")]
10#[cfg_attr(docsrs, doc(cfg(feature = "async")))]
11pub mod async_api;
12
13pub mod advanced_commerce;
14pub mod app_store;
15pub mod app_transaction;
16pub mod error;
17pub mod external_purchase;
18mod ffi;
19pub mod message;
20mod private;
21pub mod product;
22mod product_helpers;
23pub mod purchase_intent;
24pub mod purchase_option;
25pub mod receipt_validator;
26pub mod refund;
27pub mod renewal_info;
28pub mod renewal_state;
29pub mod store_context;
30pub mod storefront;
31pub mod subscription;
32pub mod subscription_info;
33mod subscription_status_stream;
34pub mod transaction;
35pub mod verification_result;
36pub mod window;
37
38pub use advanced_commerce::{
39    AdvancedCommerceProduct, AdvancedCommercePurchaseOption, AppStoreMerchandisingKind,
40    AppStoreMerchandisingPresentationResult, RenewalInfoAdvancedCommerceInfo,
41    RenewalInfoAdvancedCommerceItem, RenewalInfoAdvancedCommercePriceIncreaseInfo,
42    RenewalInfoAdvancedCommercePriceIncreaseStatus, TransactionAdvancedCommerceInfo,
43    TransactionAdvancedCommerceItem, TransactionAdvancedCommerceItemDetails,
44    TransactionAdvancedCommerceOffer, TransactionAdvancedCommerceOfferReason,
45    TransactionAdvancedCommerceRefund, TransactionAdvancedCommerceRefundReason,
46    TransactionAdvancedCommerceRefundType,
47};
48pub use app_store::{AppStore, AppStoreEnvironment, AppStorePlatform};
49pub use app_transaction::AppTransaction;
50pub use error::{
51    InvalidRequestError, ProductPurchaseError, ProductPurchaseErrorCode, RefundRequestError,
52    RefundRequestErrorCode, StoreKitApiError, StoreKitApiErrorCode, StoreKitError,
53    StoreKitFrameworkError, TypedStoreKitError, VerificationErrorCode, VerificationFailure,
54};
55pub use external_purchase::{
56    ExternalPurchase, ExternalPurchaseCustomLink, ExternalPurchaseCustomLinkNoticeResult,
57    ExternalPurchaseCustomLinkNoticeType, ExternalPurchaseCustomLinkToken, ExternalPurchaseLink,
58    ExternalPurchaseNoticeResult,
59};
60pub use message::{Message, MessageReason, MessageStream};
61pub use product::{Product, ProductType};
62pub use product_helpers::ProductFormatting;
63pub use purchase_intent::{PurchaseIntent, PurchaseIntentStream};
64pub use purchase_option::{PurchaseOption, PurchaseResult};
65pub use receipt_validator::{AppReceipt, ReceiptValidator};
66pub use refund::{Refund, RefundRequestStatus};
67pub use renewal_info::{ExpirationReason, PriceIncreaseStatus, RenewalInfo};
68pub use renewal_state::RenewalState;
69pub use store_context::StoreContext;
70pub use storefront::{Storefront, StorefrontStream};
71pub use subscription::{
72    SubscriptionOffer, SubscriptionOfferType, SubscriptionPaymentMode, SubscriptionPeriod,
73    SubscriptionPeriodUnit,
74};
75pub use subscription_info::{SubscriptionInfo, SubscriptionStatus};
76pub use subscription_status_stream::{
77    SubscriptionGroupStatusStream, SubscriptionGroupStatuses, SubscriptionStatusStream,
78};
79pub use transaction::{
80    OfferPaymentMode, OfferType, OwnershipType, RevocationReason, Transaction, TransactionData,
81    TransactionOffer, TransactionReason, TransactionStream,
82};
83pub use verification_result::{VerificationMetadata, VerificationResult};
84pub use window::NSWindowHandle;
85
86/// Common imports.
87pub mod prelude {
88    pub use crate::advanced_commerce::{
89        AdvancedCommerceProduct, AdvancedCommercePurchaseOption, AppStoreMerchandisingKind,
90        AppStoreMerchandisingPresentationResult, RenewalInfoAdvancedCommerceInfo,
91        RenewalInfoAdvancedCommerceItem, RenewalInfoAdvancedCommercePriceIncreaseInfo,
92        RenewalInfoAdvancedCommercePriceIncreaseStatus, TransactionAdvancedCommerceInfo,
93        TransactionAdvancedCommerceItem, TransactionAdvancedCommerceItemDetails,
94        TransactionAdvancedCommerceOffer, TransactionAdvancedCommerceOfferReason,
95        TransactionAdvancedCommerceRefund, TransactionAdvancedCommerceRefundReason,
96        TransactionAdvancedCommerceRefundType,
97    };
98    pub use crate::app_store::{AppStore, AppStoreEnvironment, AppStorePlatform};
99    pub use crate::app_transaction::AppTransaction;
100    pub use crate::error::{
101        InvalidRequestError, ProductPurchaseError, ProductPurchaseErrorCode, RefundRequestError,
102        RefundRequestErrorCode, StoreKitApiError, StoreKitApiErrorCode, StoreKitError,
103        StoreKitFrameworkError, TypedStoreKitError, VerificationErrorCode, VerificationFailure,
104    };
105    pub use crate::external_purchase::{
106        ExternalPurchase, ExternalPurchaseCustomLink, ExternalPurchaseCustomLinkNoticeResult,
107        ExternalPurchaseCustomLinkNoticeType, ExternalPurchaseCustomLinkToken,
108        ExternalPurchaseLink, ExternalPurchaseNoticeResult,
109    };
110    pub use crate::message::{Message, MessageReason, MessageStream};
111    pub use crate::product::{Product, ProductType};
112    pub use crate::product_helpers::ProductFormatting;
113    pub use crate::purchase_intent::{PurchaseIntent, PurchaseIntentStream};
114    pub use crate::purchase_option::{PurchaseOption, PurchaseResult};
115    pub use crate::receipt_validator::{AppReceipt, ReceiptValidator};
116    pub use crate::refund::{Refund, RefundRequestStatus};
117    pub use crate::renewal_info::{ExpirationReason, PriceIncreaseStatus, RenewalInfo};
118    pub use crate::renewal_state::RenewalState;
119    pub use crate::store_context::StoreContext;
120    pub use crate::storefront::{Storefront, StorefrontStream};
121    pub use crate::subscription::{
122        SubscriptionOffer, SubscriptionOfferType, SubscriptionPaymentMode, SubscriptionPeriod,
123        SubscriptionPeriodUnit,
124    };
125    pub use crate::subscription_info::{SubscriptionInfo, SubscriptionStatus};
126    pub use crate::subscription_status_stream::{
127        SubscriptionGroupStatusStream, SubscriptionGroupStatuses, SubscriptionStatusStream,
128    };
129    pub use crate::transaction::{
130        OfferPaymentMode, OfferType, OwnershipType, RevocationReason, Transaction, TransactionData,
131        TransactionOffer, TransactionReason, TransactionStream,
132    };
133    pub use crate::verification_result::{VerificationMetadata, VerificationResult};
134    pub use crate::window::NSWindowHandle;
135}