( subscriptionData: SubscriptionResponse | null | undefined, )
| 5 | * Returns null if the subscription data is incomplete. |
| 6 | */ |
| 7 | export function getBlockPercentRemaining( |
| 8 | subscriptionData: SubscriptionResponse | null | undefined, |
| 9 | ): number | null { |
| 10 | if (!subscriptionData?.hasSubscription) return null |
| 11 | const rateLimit = subscriptionData.rateLimit |
| 12 | if (!rateLimit?.blockLimit || rateLimit.blockUsed == null) return null |
| 13 | return Math.round( |
| 14 | ((rateLimit.blockLimit - rateLimit.blockUsed) / rateLimit.blockLimit) * 100, |
| 15 | ) |
| 16 | } |
| 17 | |
| 18 | /** |
| 19 | * Determines if a request is covered by subscription based on subscription data. |
no outgoing calls
no test coverage detected