CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-store

A localStorage wrapper for all browsers without using cookies or flash, providing persistent client-side storage with automatic fallback and plugin architecture

75

0.96x
Overview
Eval results
Files

rubric.jsonevals/scenario-6/

{
  "context": "This criteria evaluates how well the engineer uses store.js's storage testing and fallback mechanisms to build a robust storage manager. It focuses on understanding and utilizing store.js's createStore() function with multiple storage backends, automatic storage testing capabilities, and the enabled flag.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "createStore usage",
      "description": "Uses store.createStore() function to create a custom store instance with an array of storage backends passed as the first parameter, allowing store.js to automatically test and select a working storage mechanism.",
      "max_score": 30
    },
    {
      "name": "Storage array configuration",
      "description": "Properly configures the storage backends array by importing and referencing specific store.js storage modules (e.g., store.storages.localStorage, store.storages.sessionStorage, store.storages.cookieStorage, store.storages.memoryStorage) in priority order.",
      "max_score": 25
    },
    {
      "name": "Enabled flag usage",
      "description": "Utilizes the store.enabled property to determine if a persistent storage mechanism was successfully initialized, correctly distinguishing between persistent storage and in-memory fallback.",
      "max_score": 20
    },
    {
      "name": "Automatic testing behavior",
      "description": "Leverages store.js's built-in automatic storage testing mechanism (which internally calls _testStorage) rather than implementing custom testing logic, allowing the library to handle write/read/remove test operations and exception handling.",
      "max_score": 15
    },
    {
      "name": "Memory fallback handling",
      "description": "Ensures memoryStorage is included in the storage backends array as the final fallback option, guaranteeing the storage manager always has a working storage mechanism even when all persistent options fail.",
      "max_score": 10
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/npm-store

tile.json