All files / src/lib/addons index.ts

100% Statements 10/10
100% Branches 0/0
100% Functions 2/2
100% Lines 10/10

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 2962x 62x 62x 62x               62x       62x 147x           147x   588x 588x      
import Webhook from './webhook';
import SlackAddon from './slack';
import TeamsAddon from './teams';
import DatadogAddon from './datadog';
import Addon from './addon';
import { LogProvider } from '../logger';
 
export interface IAddonProviders {
    [key: string]: Addon;
}
 
export const getAddons: (args: {
    getLogger: LogProvider;
    unleashUrl: string;
    newFeatureLink?: boolean;
}) => IAddonProviders = ({ getLogger, unleashUrl }) => {
    const addons = [
        new Webhook({ getLogger }),
        new SlackAddon({ getLogger, unleashUrl }),
        new TeamsAddon({ getLogger, unleashUrl }),
        new DatadogAddon({ getLogger, unleashUrl }),
    ];
    return addons.reduce((map, addon) => {
        // eslint-disable-next-line no-param-reassign
        map[addon.name] = addon;
        return map;
    }, {});
};