A universally-unique, lexicographically-sortable, identifier generator
78
{
"context": "This criteria evaluates how well the engineer uses the ulid package's isValid function to implement ULID validation, filtering, and counting functionality. The focus is on proper usage of the ulid package API for validation tasks.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Import isValid function",
"description": "The implementation imports the isValid function from the 'ulid' package (e.g., import { isValid } from 'ulid')",
"max_score": 20
},
{
"name": "Use isValid in validateULID",
"description": "The validateULID function directly uses the isValid function from the ulid package to validate ULID strings",
"max_score": 25
},
{
"name": "Use isValid in filterValidULIDs",
"description": "The filterValidULIDs function uses the isValid function to filter the array (e.g., ids.filter(isValid) or ids.filter(id => isValid(id)))",
"max_score": 25
},
{
"name": "Use isValid in countValidULIDs",
"description": "The countValidULIDs function uses the isValid function to count valid ULIDs (e.g., by filtering with isValid and checking length, or using reduce with isValid)",
"max_score": 20
},
{
"name": "No reimplementation of validation",
"description": "The implementation does not reimplement ULID validation logic (e.g., no manual regex checks, length checks, or character validation) and relies exclusively on the ulid package's isValid function",
"max_score": 10
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-ulidevals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10