A localStorage wrapper for all browsers without using cookies or flash, providing persistent client-side storage with automatic fallback and plugin architecture
75
{
"context": "This evaluation assesses how effectively the engineer uses the store.js observe plugin to automatically track changes to cart items. The focus is on proper plugin integration, change observation setup, and correct handling of change events.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Observe plugin usage",
"description": "Uses the observe plugin with store.js (either by importing store.everything.js or adding the observe plugin with addPlugin())",
"max_score": 25
},
{
"name": "Change observation setup",
"description": "Uses store.observe() method to set up automatic tracking of changes to cart item keys",
"max_score": 25
},
{
"name": "Pattern-based observation",
"description": "Uses a pattern or regex (e.g., /^cart_item_/) to observe all cart item keys collectively rather than observing each key individually",
"max_score": 20
},
{
"name": "Change record structure",
"description": "Correctly captures and stores change records with key, oldValue, newValue, and timestamp fields from the observe callback",
"max_score": 15
},
{
"name": "Persistent history",
"description": "Stores the change history array in store (e.g., under 'cart_changes' key) so it persists across sessions",
"max_score": 10
},
{
"name": "Cart operations",
"description": "Implements cart operations (add, remove, clear) using store.set() and store.remove() methods that trigger the observe callbacks",
"max_score": 5
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-storeevals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10