egg icon indicating copy to clipboard operation
egg copied to clipboard

Egg Redis Typescript Error.

Open minhthinhls opened this issue 4 years ago • 0 comments

egg-redis/index.d.ts

import { Redis, RedisOptions } from "ioredis";

interface ClusterOptions extends RedisOptions {
  cluster?: boolean;
  nodes?: RedisOptions[];
}

interface EggRedisOptions {
  Redis?: Redis;
  default?: object;
  app?: boolean;
  agent?: boolean;
  client?: ClusterOptions;
  clients?: Record<string, RedisOptions>;
}

declare module 'egg' {
  interface Application {
    redis: Redis & Singleton<Redis>;
  }

  interface EggAppConfig {
    redis: EggRedisOptions;
  }
}

This code does not resolved Instance Singleton correctly due to collision of property get(). Please consider

import {Singleton} from "egg";

on the top of this declaration. And/Or reverse the type

interface Application {
    redis: Singleton<Redis> & Redis;
}

minhthinhls avatar Jan 01 '22 08:01 minhthinhls