or run

tessl search
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-10/

{
  "context": "This criteria evaluates how well the engineer uses nuqs's complex type parsers (parseAsArrayOf, parseAsNativeArrayOf, and parseAsJson) to implement URL-based filter state management. The focus is on correct parser selection and usage for different data structures.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Native array parser",
      "description": "Uses parseAsNativeArrayOf (or createMultiParser) to handle category tags as multi-value query parameters (e.g., ?category=a&category=b)",
      "max_score": 30
    },
    {
      "name": "JSON object parser",
      "description": "Uses parseAsJson to handle the price range as a JSON object in the URL, correctly serializing and deserializing the {min, max} structure",
      "max_score": 30
    },
    {
      "name": "Array parser",
      "description": "Uses parseAsArrayOf to handle sort criteria as a comma-separated list in a single query parameter",
      "max_score": 25
    },
    {
      "name": "State clearing",
      "description": "Properly clears all filter state by setting values to null, which removes the query parameters from the URL",
      "max_score": 10
    },
    {
      "name": "Type safety",
      "description": "Implements proper TypeScript types for the price range JSON object structure (either inline type or schema validation)",
      "max_score": 5
    }
  ]
}