[package]
edition = "2021"
rust-version = "1.76"
name = "storekit-rs"
version = "0.4.5"
authors = ["Per Johansson <per@doom.fish>"]
build = "build.rs"
include = [
"src/**/*",
"swift-bridge/Package.swift",
"swift-bridge/Sources/**/*",
"examples/**/*",
"tests/**/*",
"build.rs",
"Cargo.toml",
"README.md",
"LICENSE-*",
"CHANGELOG.md",
"COVERAGE.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Safe Rust bindings for Apple's StoreKit framework — in-app purchases and transaction streams on macOS"
homepage = "https://github.com/doom-fish/storekit-rs"
readme = "README.md"
keywords = [
"storekit",
"iap",
"macos",
"subscriptions",
"apple",
]
categories = [
"api-bindings",
"os::macos-apis",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/doom-fish/storekit-rs"
[package.metadata.docs.rs]
all-features = true
default-target = "aarch64-apple-darwin"
targets = [
"aarch64-apple-darwin",
"x86_64-apple-darwin",
]
rustdoc-args = [
"--cfg",
"docsrs",
]
[badges.maintenance]
status = "actively-developed"
[features]
async = []
default = []
[lib]
name = "storekit"
crate-type = ["lib"]
path = "src/lib.rs"
[[example]]
name = "01_product_lookup"
path = "examples/01_product_lookup.rs"
[[example]]
name = "02_transaction_stream"
path = "examples/02_transaction_stream.rs"
[[example]]
name = "03_app_store_context"
path = "examples/03_app_store_context.rs"
[[example]]
name = "04_storefront_current"
path = "examples/04_storefront_current.rs"
[[example]]
name = "05_subscription_types"
path = "examples/05_subscription_types.rs"
[[example]]
name = "06_subscription_info_status"
path = "examples/06_subscription_info_status.rs"
[[example]]
name = "07_refund_request"
path = "examples/07_refund_request.rs"
[[example]]
name = "08_receipt_validator"
path = "examples/08_receipt_validator.rs"
[[example]]
name = "09_message_support"
path = "examples/09_message_support.rs"
[[example]]
name = "10_app_transaction"
path = "examples/10_app_transaction.rs"
[[example]]
name = "11_store_context"
path = "examples/11_store_context.rs"
[[example]]
name = "12_renewal_info"
path = "examples/12_renewal_info.rs"
[[example]]
name = "13_renewal_state"
path = "examples/13_renewal_state.rs"
[[example]]
name = "14_purchase_option"
path = "examples/14_purchase_option.rs"
[[example]]
name = "15_verification_result"
path = "examples/15_verification_result.rs"
[[example]]
name = "16_purchase_intent"
path = "examples/16_purchase_intent.rs"
[[example]]
name = "17_external_purchase"
path = "examples/17_external_purchase.rs"
[[example]]
name = "18_advanced_commerce"
path = "examples/18_advanced_commerce.rs"
[[example]]
name = "19_typed_errors"
path = "examples/19_typed_errors.rs"
[[example]]
name = "20_async_products"
path = "examples/20_async_products.rs"
required-features = ["async"]
[[example]]
name = "21_async_app_transaction"
path = "examples/21_async_app_transaction.rs"
required-features = ["async"]
[[example]]
name = "22_async_storefront"
path = "examples/22_async_storefront.rs"
required-features = ["async"]
[[test]]
name = "advanced_commerce_tests"
path = "tests/advanced_commerce_tests.rs"
[[test]]
name = "app_store_tests"
path = "tests/app_store_tests.rs"
[[test]]
name = "app_transaction_tests"
path = "tests/app_transaction_tests.rs"
[[test]]
name = "async_api_tests"
path = "tests/async_api_tests.rs"
[[test]]
name = "external_purchase_tests"
path = "tests/external_purchase_tests.rs"
[[test]]
name = "message_tests"
path = "tests/message_tests.rs"
[[test]]
name = "product_helper_tests"
path = "tests/product_helper_tests.rs"
[[test]]
name = "product_tests"
path = "tests/product_tests.rs"
[[test]]
name = "purchase_intent_tests"
path = "tests/purchase_intent_tests.rs"
[[test]]
name = "purchase_option_tests"
path = "tests/purchase_option_tests.rs"
[[test]]
name = "receipt_validator_tests"
path = "tests/receipt_validator_tests.rs"
[[test]]
name = "refund_tests"
path = "tests/refund_tests.rs"
[[test]]
name = "renewal_info_tests"
path = "tests/renewal_info_tests.rs"
[[test]]
name = "renewal_state_tests"
path = "tests/renewal_state_tests.rs"
[[test]]
name = "store_context_tests"
path = "tests/store_context_tests.rs"
[[test]]
name = "storefront_tests"
path = "tests/storefront_tests.rs"
[[test]]
name = "subscription_info_tests"
path = "tests/subscription_info_tests.rs"
[[test]]
name = "subscription_status_stream_tests"
path = "tests/subscription_status_stream_tests.rs"
[[test]]
name = "subscription_tests"
path = "tests/subscription_tests.rs"
[[test]]
name = "transaction_tests"
path = "tests/transaction_tests.rs"
[[test]]
name = "typed_error_tests"
path = "tests/typed_error_tests.rs"
[[test]]
name = "verification_result_tests"
path = "tests/verification_result_tests.rs"
[dependencies.base64]
version = "0.22"
[dependencies.doom-fish-utils]
version = ">=0.1, <0.4"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dev-dependencies.pollster]
version = "0.3"
[lints.clippy.cargo]
level = "warn"
priority = -1
[lints.clippy.nursery]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
[profile.release]
debug = 2
strip = "none"