Code coverage report for src/container/modules/storages/StoragesModule.ts

# All files / src/container/modules/storages StoragesModule.ts

100% Statements 13/13
100% Branches 0/0
100% Functions 3/3
100% Lines 13/13

    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
    361x
    1x

    1x
    1x
    1x

    1x

    6271x

    6271x

    6271x

    6271x

    4041x
    8144x

    8144x

     import { ContainerModule, interfaces } from 'inversify';
    import { ServiceIdentifiers } from '../../ServiceIdentifiers';

    import { TControlFlowStorage } from '../../../types/storages/TControlFlowStorage';
    import { TCustomNodeGroupStorage } from '../../../types/storages/TCustomNodeGroupStorage';
    import { TStringArrayStorage } from '../../../types/storages/TStringArrayStorage';

    import { ControlFlowStorage } from '../../../storages/control-flow/ControlFlowStorage';
    import { CustomNodeGroupStorage } from '../../../storages/custom-node-group/CustomNodeGroupStorage';
    import { StringArrayStorage } from '../../../storages/string-array/StringArrayStorage';

    export const storagesModule: interfaces.ContainerModule = new ContainerModule((bind: interfaces.Bind) => {
        // storages
        bind<TCustomNodeGroupStorage>(ServiceIdentifiers.TCustomNodeGroupStorage)
            .to(CustomNodeGroupStorage)
            .inSingletonScope();

        bind<TStringArrayStorage>(ServiceIdentifiers.TStringArrayStorage)
            .to(StringArrayStorage)
            .inSingletonScope();

        bind<interfaces.Newable<TControlFlowStorage>>(ServiceIdentifiers.Newable__TControlFlowStorage)
            .toConstructor(ControlFlowStorage);

        // controlFlowStorage factory
        bind<TControlFlowStorage>(ServiceIdentifiers.Factory__TControlFlowStorage)
            .toFactory<TControlFlowStorage>((context: interfaces.Context) => {
                return () => {
                    const constructor: interfaces.Newable<TControlFlowStorage> = context.container
                        .get<interfaces.Newable<TControlFlowStorage>>(ServiceIdentifiers.Newable__TControlFlowStorage);

                    return new constructor();
                };
            });
    });