Home / Function/ filterAndSortTokens() — supabase Function Reference

filterAndSortTokens() — supabase Function Reference

Architecture documentation for the filterAndSortTokens() function in AccessToken.utils.ts from the supabase codebase.

Entity Profile

Dependency Diagram

graph TD
  78f2e2e0_dfde_4e37_37ce_ee59cb486ff8["filterAndSortTokens()"]
  8b5929c9_64c6_49c4_81bd_271e0e95ead9["AccessTokenList()"]
  8b5929c9_64c6_49c4_81bd_271e0e95ead9 -->|calls| 78f2e2e0_dfde_4e37_37ce_ee59cb486ff8
  add947ae_f0a8_5482_a3d1_722dde833443["ScopedTokenList()"]
  add947ae_f0a8_5482_a3d1_722dde833443 -->|calls| 78f2e2e0_dfde_4e37_37ce_ee59cb486ff8
  style 78f2e2e0_dfde_4e37_37ce_ee59cb486ff8 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

apps/studio/components/interfaces/Account/AccessTokens/AccessToken.utils.ts lines 30–64

export const filterAndSortTokens = <T extends BaseToken>(
  tokens: T[] | undefined,
  searchString: string,
  sort: AccessTokenSort
): T[] | undefined => {
  const filtered = !searchString
    ? tokens
    : tokens?.filter((token) => token.name.toLowerCase().includes(searchString.toLowerCase()))

  if (!filtered) return filtered

  const [sortCol, sortOrder] = sort.split(':') as [AccessTokenSortColumn, AccessTokenSortOrder]
  const orderMultiplier = sortOrder === 'asc' ? 1 : -1

  return [...filtered].sort((a, b) => {
    if (sortCol === 'created_at') {
      return (new Date(a.created_at).getTime() - new Date(b.created_at).getTime()) * orderMultiplier
    }
    if (sortCol === 'last_used_at') {
      if (!a.last_used_at && !b.last_used_at) return 0
      if (!a.last_used_at) return 1
      if (!b.last_used_at) return -1
      return (
        (new Date(a.last_used_at).getTime() - new Date(b.last_used_at).getTime()) * orderMultiplier
      )
    }
    if (sortCol === 'expires_at') {
      if (!a.expires_at && !b.expires_at) return 0
      if (!a.expires_at) return 1
      if (!b.expires_at) return -1
      return (new Date(a.expires_at).getTime() - new Date(b.expires_at).getTime()) * orderMultiplier
    }
    return 0
  })
}

Subdomains

Frequently Asked Questions

What does filterAndSortTokens() do?
filterAndSortTokens() is a function in the supabase codebase.
What calls filterAndSortTokens()?
filterAndSortTokens() is called by 2 function(s): AccessTokenList, ScopedTokenList.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free