UNPKG

@comsma/apollo-datasource-grpc

Version:

gRPC implementation of Apollo Server's Datasources. Makes it possible to use Partial Query Caching

24 lines 1.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const utils_keyvaluecache_1 = require("@apollo/utils.keyvaluecache"); class GRPCCache { keyValueCache; constructor(keyValueCache) { this.keyValueCache = keyValueCache; if (!this.keyValueCache) this.keyValueCache = new utils_keyvaluecache_1.InMemoryLRUCache(); } async get(key) { const entry = await this.keyValueCache.get(`grpccache:${key}`); if (entry) return JSON.parse(entry); return null; } async set(key, value, ttl) { if (ttl > 0) { await this.keyValueCache.set(`grpccache:${key}`, JSON.stringify(value), { ttl }); } } } exports.default = GRPCCache; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR1JQQ0NhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0dSUENDYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFFQUE4RTtBQUU5RSxNQUFNLFNBQVM7SUFDTixhQUFhLENBQXdCO0lBRTVDLFlBQVksYUFBb0M7UUFDOUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhO1lBQUUsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLHNDQUFnQixFQUFFLENBQUM7SUFDdkUsQ0FBQztJQUVELEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBVztRQUNuQixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUUvRCxJQUFJLEtBQUs7WUFBRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFcEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFXLEVBQUUsS0FBVSxFQUFFLEdBQVc7UUFDNUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFO1lBQ1gsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEdBQUcsRUFBRSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1NBQ2xGO0lBQ0gsQ0FBQztDQUNGO0FBRUQsa0JBQWUsU0FBUyxDQUFDIn0=