or run

tessl search
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-2/

{
  "context": "This criteria evaluates how effectively the engineer uses oboe.js to process streaming JSON data, specifically focusing on the Node Callbacks capability. It assesses proper use of pattern matching, callback registration, and lifecycle event handling.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "oboe() initialization",
      "description": "Uses the oboe() function to initiate the HTTP request with the provided URL",
      "max_score": 10
    },
    {
      "name": "JSONPath pattern",
      "description": "Uses a correct JSONPath pattern (e.g., '!.users.*' or '!.users[*]') to match user objects in the array",
      "max_score": 20
    },
    {
      "name": ".node() callback",
      "description": "Uses the .node() method to register a callback that processes user objects as they arrive in the stream",
      "max_score": 25
    },
    {
      "name": "Filtering logic",
      "description": "Implements filtering logic within the .node() callback to check the 'active' property and collect emails from active users",
      "max_score": 15
    },
    {
      "name": ".done() completion",
      "description": "Uses the .done() method to handle completion of the JSON stream and invoke the callback with collected results",
      "max_score": 15
    },
    {
      "name": ".fail() error handling",
      "description": "Uses the .fail() method to handle errors and invoke the callback with the error parameter",
      "max_score": 10
    },
    {
      "name": "Method chaining",
      "description": "Uses method chaining to compose the oboe request fluently (e.g., oboe(url).node(...).done(...).fail(...))",
      "max_score": 5
    }
  ]
}