Commit 7191e15c authored by nanahira's avatar nanahira

use singleton MemoryDriver

parent 1c2946a7
import { ConfigurableModuleBuilder, Inject, Module } from '@nestjs/common'; import { ConfigurableModuleBuilder, Inject, Module } from '@nestjs/common';
import { Aragami, AragamiOptions } from 'aragami'; import { Aragami, AragamiOptions, MemoryDriver } from 'aragami';
const { ConfigurableModuleClass, MODULE_OPTIONS_TOKEN } = const { ConfigurableModuleClass, MODULE_OPTIONS_TOKEN } =
new ConfigurableModuleBuilder<AragamiOptions>() new ConfigurableModuleBuilder<AragamiOptions>()
...@@ -15,14 +15,27 @@ const { ConfigurableModuleClass, MODULE_OPTIONS_TOKEN } = ...@@ -15,14 +15,27 @@ const { ConfigurableModuleClass, MODULE_OPTIONS_TOKEN } =
.build(); .build();
export const ARAGAMI_TOKEN = 'ARAGAMI_TOKEN'; export const ARAGAMI_TOKEN = 'ARAGAMI_TOKEN';
export const AGAGAMI_MEMORY_DRIVER_TOKEN = 'AGAGAMI_MEMORY_DRIVER_TOKEN';
export const InjectAragami = () => Inject(ARAGAMI_TOKEN); export const InjectAragami = () => Inject(ARAGAMI_TOKEN);
@Module({ @Module({
providers: [ providers: [
{ {
provide: ARAGAMI_TOKEN, provide: ARAGAMI_TOKEN,
useFactory: (options: AragamiOptions) => new Aragami(options), useFactory: (options: AragamiOptions, memoryDriver: MemoryDriver) =>
inject: [MODULE_OPTIONS_TOKEN], 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], exports: [ARAGAMI_TOKEN],
......
This diff is collapsed.
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
"peerDependencies": { "peerDependencies": {
"@nestjs/common": "^9.1.2 || ^10.0.0 || ^11.0.0", "@nestjs/common": "^9.1.2 || ^10.0.0 || ^11.0.0",
"@nestjs/core": "^9.4.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" "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