CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-io-ts

TypeScript runtime type system for IO decoding/encoding

72

1.14x
Overview
Eval results
Files

rubric.jsonevals/scenario-3/

{
  "context": "This criteria evaluates how well the engineer uses io-ts's Decoder module to implement applicative composition for combining independent field validators. The focus is on proper use of decoder combinators and applicative functors to compose parallel validations.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Decoder module import",
      "description": "Uses the Decoder module from io-ts (e.g., import * as D from 'io-ts/Decoder') rather than the main io-ts module or other validation approaches",
      "max_score": 15
    },
    {
      "name": "Individual decoder creation",
      "description": "Creates separate decoders for name (string), price (number), and quantity (number) fields using appropriate decoder primitives (D.string, D.number)",
      "max_score": 20
    },
    {
      "name": "Field extraction decoders",
      "description": "Uses decoder combinators to extract individual fields from the input object (e.g., using D.parse or D.struct with field access)",
      "max_score": 15
    },
    {
      "name": "Applicative composition usage",
      "description": "Uses applicative composition to combine the independent field decoders in parallel (e.g., using sequenceS, sequenceT, or applicative operations from fp-ts/Apply)",
      "max_score": 30
    },
    {
      "name": "Error accumulation",
      "description": "The combined validation accumulates all errors from failed field validations rather than failing fast, demonstrating proper applicative semantics",
      "max_score": 20
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/npm-io-ts

tile.json