or run

tessl search
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-10/

{
  "context": "This criteria evaluates how well the engineer uses the mixin-deep package to implement a configuration merger that handles sparse (undefined/null) inputs. The focus is on proper usage of mixin-deep's core function to merge objects while gracefully handling undefined or missing configuration sources.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Uses mixin-deep",
      "description": "The implementation imports and uses the mixin-deep package (e.g., `const mixinDeep = require('mixin-deep')` or similar import statement)",
      "max_score": 20
    },
    {
      "name": "Calls mixinDeep function",
      "description": "The implementation calls the mixinDeep function to perform the deep merging operation",
      "max_score": 25
    },
    {
      "name": "Handles sparse inputs",
      "description": "The implementation properly handles undefined or null configuration sources by filtering them out or ensuring mixin-deep processes them correctly (leveraging mixin-deep's built-in sparse object handling capability)",
      "max_score": 30
    },
    {
      "name": "Empty object target",
      "description": "Uses an empty object `{}` as the first argument to mixinDeep to avoid mutating input configuration objects, ensuring a new merged object is created",
      "max_score": 15
    },
    {
      "name": "Correct argument order",
      "description": "Passes configuration objects to mixinDeep in the correct order (target first, then source objects) to ensure proper merging precedence",
      "max_score": 10
    }
  ]
}