CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-oboe

Progressive JSON streaming parser that enables processing data as it arrives over HTTP without waiting for the complete response

94

1.11x
Quality

Pending

Does it follow best practices?

Impact

94%

1.11x

Average score across 10 eval scenarios

SecuritybySnyk

Pending

The risk profile of this skill

Overview
Eval results
Files

criteria.jsonevals/scenario-7/

{
  "context": "This criteria evaluates how well the engineer uses oboe.js to implement progressive parsing of a streaming JSON product feed. The focus is on proper use of oboe's streaming capabilities to process array elements as they arrive, rather than waiting for the complete response.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "oboe() invocation",
      "description": "Uses oboe() function to initiate the HTTP request with the provided URL parameter",
      "max_score": 15
    },
    {
      "name": ".node() for streaming",
      "description": "Uses .node() method to register a callback that processes products progressively as they arrive in the stream",
      "max_score": 25
    },
    {
      "name": "JSONPath array pattern",
      "description": "Uses appropriate JSONPath pattern (e.g., '!.products.*' or '!.products[*]') to match individual product elements within the products array",
      "max_score": 20
    },
    {
      "name": ".done() completion handler",
      "description": "Uses .done() method to handle stream completion and call the onComplete callback with the final results",
      "max_score": 20
    },
    {
      "name": "Callback integration",
      "description": "Correctly invokes the onProduct callback from within the .node() handler, passing each product object as it arrives",
      "max_score": 10
    },
    {
      "name": "Method chaining",
      "description": "Uses oboe's fluent API by chaining .node() and .done() method calls",
      "max_score": 5
    },
    {
      "name": "Return value",
      "description": "Returns the oboe stream object to provide access to its abort() method as specified in the API",
      "max_score": 5
    }
  ]
}

tile.json