UNPKG

apollo-datasource-grpc

Version:

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

24 lines 1.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const apollo_server_caching_1 = require("apollo-server-caching"); class GRPCCache { keyValueCache; constructor(keyValueCache) { this.keyValueCache = keyValueCache; if (!this.keyValueCache) this.keyValueCache = new apollo_server_caching_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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR1JQQ0NhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0dSUENDYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGlFQUF3RTtBQUV4RSxNQUFNLFNBQVM7SUFDTixhQUFhLENBQXdCO0lBRTVDLFlBQVksYUFBb0M7UUFDOUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhO1lBQUUsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLHdDQUFnQixFQUFFLENBQUM7SUFDdkUsQ0FBQztJQUVELEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBVztRQUNuQixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUUvRCxJQUFJLEtBQUs7WUFBRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFcEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFXLEVBQUUsS0FBVSxFQUFFLEdBQVc7UUFDNUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFO1lBQ1gsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEdBQUcsRUFBRSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1NBQ2xGO0lBQ0gsQ0FBQztDQUNGO0FBRUQsa0JBQWUsU0FBUyxDQUFDIn0=