filterByStatus
Filter projects by their status value.
Signature
tsx
function filterByStatus(
projects: ProjexProject[],
status: ProjectStatus | 'all' | ProjectStatus[] | undefined
): ProjexProject[]Parameters
| Parameter | Type | Description |
|---|---|---|
| projects | ProjexProject[] | Array of projects to filter |
| status | ProjectStatus | 'all' | ProjectStatus[] | undefined | Status to filter by |
Returns
ProjexProject[] - Filtered array of projects (new array, does not mutate input)
Behavior
- Returns empty array if
projectsis empty - Returns copy of all projects if
statusis'all'orundefined - Filters by single status if
statusis aProjectStatusvalue - Filters by multiple statuses if
statusis an array
Example
tsx
import { filterByStatus } from '@manningworks/projex'
// Single status
const activeProjects = filterByStatus(projects, 'active')
// Multiple statuses
const visibleProjects = filterByStatus(projects, ['active', 'shipped'])
// All projects
const allProjects = filterByStatus(projects, 'all')
// With undefined
const allProjects = filterByStatus(projects, undefined)Status Values
tsx
type ProjectStatus =
| 'active'
| 'shipped'
| 'in-progress'
| 'coming-soon'
| 'archived'
| 'for-sale'