or run

tessl search
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-5/

{
  "context": "This criteria evaluates how effectively the engineer uses nuqs package features for type-safe state management with TypeScript inference. The focus is on proper parser selection, type inference utilization, and default value handling to achieve compile-time type safety.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "useQueryState usage",
      "description": "Uses useQueryState or useQueryStates hook from nuqs to manage URL query parameter state",
      "max_score": 15
    },
    {
      "name": "String enum parser",
      "description": "Uses parseAsStringEnum or parseAsStringLiteral for the category filter to restrict values to 'electronics', 'clothing', 'books', or 'home'",
      "max_score": 20
    },
    {
      "name": "Integer parser",
      "description": "Uses parseAsInteger for the price minimum and maximum values to ensure type-safe integer parsing",
      "max_score": 15
    },
    {
      "name": "Boolean parser",
      "description": "Uses parseAsBoolean for the in-stock filter to handle boolean query parameter state",
      "max_score": 15
    },
    {
      "name": "String literal parser",
      "description": "Uses parseAsStringLiteral for the sort order to restrict values to 'asc' or 'desc'",
      "max_score": 15
    },
    {
      "name": "Default values",
      "description": "Uses withDefault() method on parsers to set default values for category ('electronics'), in-stock (true), and sort order ('asc'), making these values non-nullable",
      "max_score": 15
    },
    {
      "name": "Type inference",
      "description": "Leverages TypeScript type inference from parsers without manual type annotations for state values, demonstrating that nuqs automatically infers correct types",
      "max_score": 5
    }
  ]
}