diff --git a/packages/injects/src/index.ts b/packages/injects/src/index.ts index 9b191aa..1104e7c 100644 --- a/packages/injects/src/index.ts +++ b/packages/injects/src/index.ts @@ -9,7 +9,7 @@ import { InjectFunction, InjectResult } from './types'; * @param store Store */ export function createInject any> = {}>( - store: Record>, + store: { [K in keyof T]?: InstanceType } = {}, ): InjectFunction { function inject(tag: K): InjectResult; function inject(tag: K, functionToAdd: T[K], priority?: number, acceptedArgs?: number): void; @@ -24,7 +24,7 @@ export function createInject any> = { store[tag] = new Inject(); } - store[tag].addFilter(functionToAdd, priority, acceptedArgs); + store[tag]!.addFilter(functionToAdd, priority, acceptedArgs); } else { return { has(functionToCheck: T[K] | boolean) { @@ -32,18 +32,18 @@ export function createInject any> = { return false; } - return store[tag].hasFilter(functionToCheck); + return store[tag]!.hasFilter(functionToCheck); }, remove(functionToRemove: T[K], priority = 10) { let removed = false; if (hasOwn(store, tag)) { - removed = store[tag].removeFilter(functionToRemove, priority); + removed = store[tag]!.removeFilter(functionToRemove, priority); } return removed; }, removeAll(priority: boolean | number) { if (hasOwn(store, tag)) { - store[tag].removeAllFilters(priority); + store[tag]!.removeAllFilters(priority); } }, filter(value: T, ...args: unknown[]) { @@ -52,14 +52,14 @@ export function createInject any> = { } if (hasOwn(store, tag)) { - return store[tag].applyFilters(value, ...args); + return store[tag]!.applyFilters(value, ...args); } return Promise.resolve(value as unknown as R); }, exec(...args: unknown[]) { if (hasOwn(store, tag)) { - return store[tag].doAction(...args); + return store[tag]!.doAction(...args); } return Promise.resolve(); },