CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-walletconnect--types

TypeScript type definitions and interfaces for the WalletConnect Protocol v2, enabling type-safe development across the WalletConnect ecosystem

70

1.18x
Overview
Eval results
Files

rubric.jsonevals/scenario-8/

{
  "context": "This criteria evaluates how well the engineer implements a session cache manager using the @walletconnect/types package's Generic Storage Interface. The focus is on proper usage of the IStore interface and its methods for implementing CRUD operations with filtering capabilities.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "IStore Interface Usage",
      "description": "Uses the IStore<Key, Value> generic interface from @walletconnect/types to define the storage structure. The implementation should properly type the Key as string (session ID) and Value as the session object structure.",
      "max_score": 25
    },
    {
      "name": "Store Operation",
      "description": "Implements storage functionality consistent with IStore's set(key: Key, value: Value) method pattern to store session data with unique identifiers. Should properly handle storing new sessions.",
      "max_score": 15
    },
    {
      "name": "Retrieval Operations",
      "description": "Implements get(key) and getAll() operations consistent with IStore interface patterns. get() should retrieve individual sessions by ID and return undefined for non-existent sessions. getAll() should return all stored sessions.",
      "max_score": 20
    },
    {
      "name": "Filter/Query Capability",
      "description": "Implements filtering functionality similar to IStore's design pattern for partial value matching. Should allow querying sessions by partial criteria (e.g., userId, active status) and return matching sessions.",
      "max_score": 15
    },
    {
      "name": "Update Operation",
      "description": "Implements update functionality that modifies existing session data. In IStore pattern, this is typically done through set() with modified values. Should properly merge or replace session data.",
      "max_score": 10
    },
    {
      "name": "Delete Operation",
      "description": "Implements delete(key: Key, reason?: string) operation consistent with IStore interface to remove sessions. Should properly handle the optional reason parameter and remove the session from storage.",
      "max_score": 10
    },
    {
      "name": "Type Safety",
      "description": "Uses proper TypeScript typing throughout the implementation, leveraging the type definitions from @walletconnect/types. All methods should have proper type annotations for parameters and return values.",
      "max_score": 5
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/npm-walletconnect--types

tile.json