UNPKG

@variablesoftware/mock-kv

Version:

🎛️🏷️✨ Mock KV Namespace for testing Cloudflare Workers

22 lines (21 loc) 835 B
import logface from "@variablesoftware/logface"; export function listHandler(data) { return async (_opts) => { const now = Date.now(); // Remove expired keys from the store for (const [key, entry] of Object.entries(data)) { if (entry.expiresAt !== undefined && entry.expiresAt < now) { delete data[key]; } } const prefix = _opts?.prefix; let keys = Object.keys(data); if (typeof prefix === "string") { keys = keys.filter((key) => key.startsWith(prefix)); } const limit = _opts?.limit ?? Infinity; const result = keys.slice(0, limit).map((key) => ({ name: key })); logface.debug("list() → returning %d key(s)", result.length); return { keys: result, list_complete: true }; }; }