Babel plugin that compiles ES2015 computed properties to ES5-compatible code
88
{
"context": "This evaluation assesses how well an engineer uses Symbol-based computed properties to implement custom iteration behavior. The focus is on proper usage of Symbol.iterator as a computed property key in object literals, which is the core capability handled by @babel/plugin-transform-computed-properties.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Symbol.iterator usage",
"description": "Uses Symbol.iterator as a computed property key in the returned object (e.g., { [Symbol.iterator]: function() {...} })",
"max_score": 30
},
{
"name": "Computed property syntax",
"description": "Correctly uses computed property syntax with square brackets [Symbol.iterator] rather than string keys or other approaches",
"max_score": 25
},
{
"name": "Iterator protocol",
"description": "Returns an iterator object from Symbol.iterator method that implements the iterator protocol (has a next() method that returns {value, done} objects)",
"max_score": 25
},
{
"name": "Correct iteration logic",
"description": "Implements the iteration logic correctly to generate the sequence from start to end with the given step, handling both positive and negative steps",
"max_score": 15
},
{
"name": "Error handling",
"description": "Throws an error when step is 0 as specified in requirements",
"max_score": 5
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-babel-plugin-transform-es2015-computed-propertiesdocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10