TypeScript runtime type system for IO decoding/encoding
72
Union types for 'one of' semantics
Union type creation
100%
100%
Tagged union pattern
100%
100%
Object type definitions
100%
100%
Validation execution
100%
100%
Nested object validation
100%
100%
Type inference
100%
0%
Runtime decoding and validation with decode()
Codec definition
100%
100%
decode() usage
100%
100%
Either handling
100%
100%
Error formatting
100%
100%
Applicative decoder composition
Decoder module import
0%
100%
Individual decoder creation
50%
60%
Field extraction decoders
0%
100%
Applicative composition usage
0%
0%
Error accumulation
100%
15%
Decoder refinement with custom error messages
Base decoder usage
0%
0%
Refinement with refine
0%
0%
Custom error messages
20%
0%
Decoder composition
0%
0%
Either handling
0%
0%
Error extraction
0%
0%
Mutually recursive types
Uses t.recursion
0%
0%
Handles mutual recursion
80%
40%
Uses t.type
66%
0%
Uses t.literal
100%
0%
Uses t.array
0%
0%
Type extraction
80%
100%
Nested structure composition
Root codec creation
100%
100%
User object codec
100%
100%
Settings nested structure
100%
100%
Literal union types
100%
100%
Array codecs
100%
100%
Address nested codec
100%
100%
Social connection codec
100%
100%
Validation execution
100%
100%
Result handling
100%
100%
KeyOf types from object keys
Uses t.keyof
100%
100%
Defines allowed keys
100%
100%
Single key validation
100%
100%
Object validation
100%
100%
Returns Either types
100%
100%
Round-trip property guarantees (decode ∘ encode = identity)
Codec module import
0%
100%
Date codec implementation
50%
100%
Boolean/literal codec
50%
100%
Struct codec composition
20%
100%
Codec type annotation
0%
100%
Decode method usage
100%
100%
Encode method usage
100%
100%
Validation error handling
100%
100%
Custom schema interpreters
Schema Module Import
0%
100%
Decoder Import
0%
100%
Guard Import
0%
100%
Schema Definition
0%
100%
Struct Combinator
0%
100%
Union for Category
53%
100%
Refinement for Price
50%
100%
Decoder Interpretation
0%
100%
Guard Interpretation
0%
100%
Kleisli category for monadic composition
Decoder definition
80%
66%
Refinement validation
33%
20%
Kleisli composition
100%
40%
Either handling
100%
100%
Transformation steps
86%
100%
Error reporting
80%
80%
Install with Tessl CLI
npx tessl i tessl/npm-io-ts