@carddb/node
v0.1.5
Published
CardDB client for Node.js, Bun, and Deno
Maintainers
Readme
@carddb/node
CardDB client for Node.js, Bun, and Deno.
Installation
npm install @carddb/node
# or
bun add @carddb/node
# or
deno add npm:@carddb/nodeQuick Start
import { CardDBClient, MemoryCache, gte, ilike } from '@carddb/node'
const client = new CardDBClient({
apiKey: 'carddb_xxx...', // Optional, increases rate limits
cache: new MemoryCache(), // Optional in-memory caching
defaultPublisher: 'pokemon',
defaultGame: 'tcg',
})
// Search for cards with filtering
const cards = await client.records.search({
datasetKey: 'cards',
filter: (f) => f.where('hp', gte(100)).where('name', ilike('%pikachu%')),
})
// Iterate through all results (auto-paginates)
for await (const card of cards) {
console.log(card.data.name)
}MemoryCache
Simple in-memory cache with TTL support:
import { MemoryCache } from '@carddb/node'
const cache = new MemoryCache()
// Use with client
const client = new CardDBClient({
cache,
cacheTtl: 300, // 5 minutes default
cacheTtls: {
publishers: 3600, // 1 hour for publishers
records: 60, // 1 minute for records
},
})
// Manual cache management
cache.cleanup() // Remove expired entries
cache.clear() // Clear all entriesFor production multi-instance deployments, consider implementing a Redis-based cache using the Cache interface.
Full Documentation
See the main README for complete documentation.
License
MIT
