All files / config data.config.ts

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

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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43                                                          2x                          
import { InjectionToken, type Provider } from '@angular/core';
 
import type { IElizaData } from '../interfaces/eliza.interface';
import { elizaFinals } from './finals.config';
import { elizaInitials } from './initials.config';
import { elizaKeywords } from './keywords.config';
import { elizaPostTransforms } from './post-transforms.config';
import { elizaPosts } from './posts.config';
import { elizaPres } from './pres.config';
import { elizaQuits } from './quits.config';
import { elizaSynonyms } from './synonyms.config';
 
/**
 * Eliza data configuration.
 */
export const elizaData: IElizaData = {
  initials: elizaInitials,
  finals: elizaFinals,
  quits: elizaQuits,
  pres: elizaPres,
  posts: elizaPosts,
  synonyms: elizaSynonyms,
  keywords: elizaKeywords,
  postTransforms: elizaPostTransforms,
};
 
/**
 * Eliza data injection token.
 */
export const ELIZA_DATA = new InjectionToken<IElizaData>('ELIZA_DATA');
 
/**
 * Eliza data provider constructor.
 * @param data Eliza data
 * @returns Eliza data provider
 */
export const elizaDataProvider = (data: IElizaData): Provider =>
  ({
    provide: ELIZA_DATA,
    providedIn: 'root',
    useValue: { ...data },
  }) as Provider;