UNPKG

uzen

Version:

General-purpose GraphQL subscription server library

26 lines (25 loc) 978 B
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createRedisPubSub = createRedisPubSub; const ioredis_1 = __importDefault(require("ioredis")); const graphql_yoga_1 = require("graphql-yoga"); const redis_event_target_1 = require("@graphql-yoga/redis-event-target"); function createRedisPubSub(redisConfig) { const publishClient = new ioredis_1.default({ ...redisConfig, maxRetriesPerRequest: 20, retryStrategy: (times) => { const delay = Math.min(times * 50, 2000); return delay; }, }); const eventTarget = (0, redis_event_target_1.createRedisEventTarget)({ publishClient, subscribeClient: publishClient.duplicate(), }); const pubsub = (0, graphql_yoga_1.createPubSub)({ eventTarget }); return { pubsub }; }