Commit 7191e15c authored by nanahira's avatar nanahira

use singleton MemoryDriver

parent 1c2946a7
import { ConfigurableModuleBuilder, Inject, Module } from '@nestjs/common';
import { Aragami, AragamiOptions } from 'aragami';
import { Aragami, AragamiOptions, MemoryDriver } from 'aragami';
const { ConfigurableModuleClass, MODULE_OPTIONS_TOKEN } =
new ConfigurableModuleBuilder<AragamiOptions>()
......@@ -15,14 +15,27 @@ const { ConfigurableModuleClass, MODULE_OPTIONS_TOKEN } =
.build();
export const ARAGAMI_TOKEN = 'ARAGAMI_TOKEN';
export const AGAGAMI_MEMORY_DRIVER_TOKEN = 'AGAGAMI_MEMORY_DRIVER_TOKEN';
export const InjectAragami = () => Inject(ARAGAMI_TOKEN);
@Module({
providers: [
{
provide: ARAGAMI_TOKEN,
useFactory: (options: AragamiOptions) => new Aragami(options),
inject: [MODULE_OPTIONS_TOKEN],
useFactory: (options: AragamiOptions, memoryDriver: MemoryDriver) =>
new Aragami({
...options,
...(!options.useDriver && !options.redis
? {
useDriver: memoryDriver,
}
: {}),
}),
inject: [MODULE_OPTIONS_TOKEN, AGAGAMI_MEMORY_DRIVER_TOKEN],
},
{
provide: AGAGAMI_MEMORY_DRIVER_TOKEN,
useFactory: () => new MemoryDriver(),
},
],
exports: [ARAGAMI_TOKEN],
......
This diff is collapsed.
......@@ -55,7 +55,7 @@
"peerDependencies": {
"@nestjs/common": "^9.1.2 || ^10.0.0 || ^11.0.0",
"@nestjs/core": "^9.4.2 || ^10.0.0 || ^11.0.0",
"aragami": "^1.2.0",
"aragami": "^1.2.10",
"rxjs": "^7.8.1"
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment