From d4e10bb99fb01069fce4b2fef6dd317a2a753d1d Mon Sep 17 00:00:00 2001 From: Ishaan Gupta Date: Sat, 11 Apr 2026 00:49:20 +0530 Subject: [PATCH] perf(lib): optimize subscription status lookup to O(n) --- packages/lib/queries.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/lib/queries.ts b/packages/lib/queries.ts index f3b4d745c..a64250c7f 100644 --- a/packages/lib/queries.ts +++ b/packages/lib/queries.ts @@ -37,8 +37,11 @@ export function getSubscriptionStatus( ): SubscriptionStatusMap { const statusMap: SubscriptionStatusMap = { ...DEFAULT_SUBSCRIPTION_STATUS } if (!products) return statusMap + + const productMap = new Map(products.map((p) => [p.id, p])) + for (const tier of PLAN_TIERS) { - const product = products.find((p) => p.id === tier) + const product = productMap.get(tier) statusMap[tier] = { allowed: product?.status === "active", status: product?.status ?? null,