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
13/// `StoreKit` advanced-commerce wrappers and related value types.
14pub mod advanced_commerce;
15/// Wrappers for `StoreKit.AppStore` APIs.
16pub mod app_store;
17/// Wrappers for `StoreKit.AppTransaction`.
18pub mod app_transaction;
19/// Typed errors surfaced by the `StoreKit` framework.
20pub mod error;
21/// Wrappers for `StoreKit` external purchase APIs.
22pub mod external_purchase;
23mod ffi;
24/// Wrappers for `StoreKit.Message` and related APIs.
25pub mod message;
26mod private;
27/// Wrappers for `StoreKit.Product` and related value types.
28pub mod product;
29mod product_helpers;
30/// Wrappers for `StoreKit.PurchaseIntent` and its stream APIs.
31pub mod purchase_intent;
32/// Purchase options and results used with `StoreKit.Product.purchase`.
33pub mod purchase_option;
34/// Helpers for `StoreKit` receipts, app transactions, and JWS payloads.
35pub mod receipt_validator;
36/// Helpers for `StoreKit` refund request APIs.
37pub mod refund;
38/// Wrappers for `StoreKit.RenewalInfo` and related enums.
39pub mod renewal_info;
40/// Wrappers for `StoreKit.Product.SubscriptionInfo.RenewalState`.
41pub mod renewal_state;
42/// Helpers that collect bundle context used alongside `StoreKit` APIs.
43pub mod store_context;
44/// Wrappers for `StoreKit.Storefront` and storefront streams.
45pub mod storefront;
46/// Wrappers for `StoreKit.Product.SubscriptionInfo` value types.
47pub mod subscription;
48/// Wrappers for `StoreKit.Product.SubscriptionInfo.Status` and related APIs.
49pub mod subscription_info;
50mod subscription_status_stream;
51/// Wrappers for `StoreKit.Transaction` and transaction streams.
52pub mod transaction;
53/// Wrappers for `StoreKit.VerificationResult` and verification metadata.
54pub mod verification_result;
55/// Opaque `NSWindow` handles used with `StoreKit` APIs that present UI.
56pub mod window;
57
58pub use advanced_commerce::{
59    AdvancedCommerceProduct, AdvancedCommercePurchaseOption, AppStoreMerchandisingKind,
60    AppStoreMerchandisingPresentationResult, RenewalInfoAdvancedCommerceInfo,
61    RenewalInfoAdvancedCommerceItem, RenewalInfoAdvancedCommercePriceIncreaseInfo,
62    RenewalInfoAdvancedCommercePriceIncreaseStatus, TransactionAdvancedCommerceInfo,
63    TransactionAdvancedCommerceItem, TransactionAdvancedCommerceItemDetails,
64    TransactionAdvancedCommerceOffer, TransactionAdvancedCommerceOfferReason,
65    TransactionAdvancedCommerceRefund, TransactionAdvancedCommerceRefundReason,
66    TransactionAdvancedCommerceRefundType,
67};
68pub use app_store::{AppStore, AppStoreEnvironment, AppStorePlatform};
69pub use app_transaction::AppTransaction;
70pub use error::{
71    InvalidRequestError, ProductPurchaseError, ProductPurchaseErrorCode, RefundRequestError,
72    RefundRequestErrorCode, StoreKitApiError, StoreKitApiErrorCode, StoreKitError,
73    StoreKitFrameworkError, TypedStoreKitError, VerificationErrorCode, VerificationFailure,
74};
75pub use external_purchase::{
76    ExternalPurchase, ExternalPurchaseCustomLink, ExternalPurchaseCustomLinkNoticeResult,
77    ExternalPurchaseCustomLinkNoticeType, ExternalPurchaseCustomLinkToken, ExternalPurchaseLink,
78    ExternalPurchaseNoticeResult,
79};
80pub use message::{Message, MessageReason, MessageStream};
81pub use product::{Product, ProductType};
82pub use product_helpers::ProductFormatting;
83pub use purchase_intent::{PurchaseIntent, PurchaseIntentStream};
84pub use purchase_option::{PurchaseOption, PurchaseResult};
85pub use receipt_validator::{AppReceipt, ReceiptValidator};
86pub use refund::{Refund, RefundRequestStatus};
87pub use renewal_info::{ExpirationReason, PriceIncreaseStatus, RenewalCommitmentInfo, RenewalInfo};
88pub use renewal_state::RenewalState;
89pub use store_context::StoreContext;
90pub use storefront::{Storefront, StorefrontStream};
91pub use subscription::{
92    SubscriptionOffer, SubscriptionOfferType, SubscriptionPaymentMode, SubscriptionPeriod,
93    SubscriptionPeriodUnit,
94};
95pub use subscription_info::{
96    BillingPlanType, SubscriptionCommitmentInfo, SubscriptionInfo, SubscriptionPricingTerms,
97    SubscriptionStatus,
98};
99pub use subscription_status_stream::{
100    SubscriptionGroupStatusStream, SubscriptionGroupStatuses, SubscriptionStatusStream,
101};
102pub use transaction::{
103    OfferPaymentMode, OfferType, OwnershipType, RevocationReason, RevocationType, Transaction,
104    TransactionCommitmentInfo, TransactionData, TransactionOffer, TransactionReason,
105    TransactionStream,
106};
107pub use verification_result::{VerificationMetadata, VerificationResult};
108pub use window::NSWindowHandle;
109
110/// Common imports.
111pub mod prelude {
112    pub use crate::advanced_commerce::{
113        AdvancedCommerceProduct, AdvancedCommercePurchaseOption, AppStoreMerchandisingKind,
114        AppStoreMerchandisingPresentationResult, RenewalInfoAdvancedCommerceInfo,
115        RenewalInfoAdvancedCommerceItem, RenewalInfoAdvancedCommercePriceIncreaseInfo,
116        RenewalInfoAdvancedCommercePriceIncreaseStatus, TransactionAdvancedCommerceInfo,
117        TransactionAdvancedCommerceItem, TransactionAdvancedCommerceItemDetails,
118        TransactionAdvancedCommerceOffer, TransactionAdvancedCommerceOfferReason,
119        TransactionAdvancedCommerceRefund, TransactionAdvancedCommerceRefundReason,
120        TransactionAdvancedCommerceRefundType,
121    };
122    pub use crate::app_store::{AppStore, AppStoreEnvironment, AppStorePlatform};
123    pub use crate::app_transaction::AppTransaction;
124    pub use crate::error::{
125        InvalidRequestError, ProductPurchaseError, ProductPurchaseErrorCode, RefundRequestError,
126        RefundRequestErrorCode, StoreKitApiError, StoreKitApiErrorCode, StoreKitError,
127        StoreKitFrameworkError, TypedStoreKitError, VerificationErrorCode, VerificationFailure,
128    };
129    pub use crate::external_purchase::{
130        ExternalPurchase, ExternalPurchaseCustomLink, ExternalPurchaseCustomLinkNoticeResult,
131        ExternalPurchaseCustomLinkNoticeType, ExternalPurchaseCustomLinkToken,
132        ExternalPurchaseLink, ExternalPurchaseNoticeResult,
133    };
134    pub use crate::message::{Message, MessageReason, MessageStream};
135    pub use crate::product::{Product, ProductType};
136    pub use crate::product_helpers::ProductFormatting;
137    pub use crate::purchase_intent::{PurchaseIntent, PurchaseIntentStream};
138    pub use crate::purchase_option::{PurchaseOption, PurchaseResult};
139    pub use crate::receipt_validator::{AppReceipt, ReceiptValidator};
140    pub use crate::refund::{Refund, RefundRequestStatus};
141    pub use crate::renewal_info::{
142        ExpirationReason, PriceIncreaseStatus, RenewalCommitmentInfo, RenewalInfo,
143    };
144    pub use crate::renewal_state::RenewalState;
145    pub use crate::store_context::StoreContext;
146    pub use crate::storefront::{Storefront, StorefrontStream};
147    pub use crate::subscription::{
148        SubscriptionOffer, SubscriptionOfferType, SubscriptionPaymentMode, SubscriptionPeriod,
149        SubscriptionPeriodUnit,
150    };
151    pub use crate::subscription_info::{
152        BillingPlanType, SubscriptionCommitmentInfo, SubscriptionInfo, SubscriptionPricingTerms,
153        SubscriptionStatus,
154    };
155    pub use crate::subscription_status_stream::{
156        SubscriptionGroupStatusStream, SubscriptionGroupStatuses, SubscriptionStatusStream,
157    };
158    pub use crate::transaction::{
159        OfferPaymentMode, OfferType, OwnershipType, RevocationReason, RevocationType, Transaction,
160        TransactionCommitmentInfo, TransactionData, TransactionOffer, TransactionReason,
161        TransactionStream,
162    };
163    pub use crate::verification_result::{VerificationMetadata, VerificationResult};
164    pub use crate::window::NSWindowHandle;
165}