All files feature-context-map-injectable.ts

100% Statements 26/26
100% Branches 1/1
100% Functions 1/1
100% Lines 26/26

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 271x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x  
import { getInjectable, getInjectionToken } from "@ogre-tools/injectable";
import type { Feature } from "./feature";
 
export type FeatureContextMap = Map<
  Feature,
  {
    register: () => void;
    deregister: () => void;
    dependedBy: Map<Feature, number>;
    numberOfRegistrations: number;
  }
>;
 
export const featureContextMapInjectionToken = getInjectionToken<FeatureContextMap>({
  id: "feature-context-map-injection-token",
});
 
const featureContextMapInjectable = getInjectable({
  id: "feature-store",
 
  instantiate: (): FeatureContextMap => new Map(),
 
  injectionToken: featureContextMapInjectionToken,
});
 
export { featureContextMapInjectable };