* replace withCheckedThrowingContinuation calls with withUnsafeThrowingContinuation
* replaced instances of withCheckedContinuation -> withUnsafeContinuation
* update the links in comments to point to the issue not the PR
* linting
---------
Co-authored-by: andy boedo <andresboedo@gmail.com>
Currently when launching an app in SK1 mode, if there are multiple
transactions in the queue, we handle them all and begin operations in
parallel. If the cache keys are the same, those end up being a combined
POST receipt request.
However with `StoreKit 2`, because we were waiting to handle each one of
the `StoreKit.Transaction.updates` using `await`, we ended up posting
them all sequentially, instead of relying on `CallbackCache`.
This also adds a lot more coverage for `StoreKit2TransactionListener` to
verify this behavior.
Created `Async` with some shared methods that make this conversion
simpler in a type-safe way.
Helps turn this:
```swift
_ = Task<Void, Never> {
do {
completion(.success(try await f()))
} catch {
completion(.failure(ErrorUtils.error())
}
}
```
Into this:
```swift
Async.call(with: completion) {
try await f()
}
```