Files
few-line-engine/src/vm/plugins/redis.plugin.ts

29 lines
558 B
TypeScript

import Redis from "ioredis";
import { Plugin } from "../plugin.class";
export class RedisPlugin extends Plugin {
constructor(name: string, private redisClient: Redis) {
super(name);
}
static init(
name: string,
config: { host: string; port: number }
): RedisPlugin {
const redisClient = new Redis({
host: config.host,
port: config.port,
});
return new RedisPlugin(name, redisClient);
}
async run(): Promise<Redis> {
return this.redisClient;
}
onFinish(): void {
this.redisClient.quit();
}
}