@blockr/blockr-data-access
TypeScript icon, indicating that this package has built-in type declarations

2.1.0-18 • Public • Published

blockr-data-access TypeScript

CI SonarQube Version
Build Status Quality Gate Status npm

The data access layer can be consumed either by dependency injection or normal construction.

Dependency injection

This library uses inversify-js as its dependency injection library. This means the consuming project is required to do the same. The data access layer has two dependencies: DataSource and Configuration that either need to be injected or constructed.

Name Type
DataSource Enum
Configuration IClientConfiguration

Example:

container

DIContainer.bind<DataAccessLayer>(DataAccessLayer).toSelf().inTransientScope();

DIContainer.bind<DataSource>("DataSource").toConstantValue(DataSource.MONGO_DB);
DIContainer.bind<IClientConfiguration>("Configuration")
    .toConstantValue(new MongoDbConfiguration("connection string", "database"));

consumer (typically a service)

class MainService {
    private dataAccessLayer: DataAccessLayer;

    constructor(@inject(DataAccessLayer) dataAccessLayer: DataAccessLayer) {
        this.dataAccessLayer = dataAccessLayer;
    }
}

Normal construction

Example:

consumer (typically a service)

class MainService {
    private dataAccessLayer: DataAccessLayer;

    constructor() {
        this.dataAccessLayer = new DataAccessLayer(
            DataSource.MONGO_DB,
            new MongoDbConfiguration("connection string", "database")
        );
    }
}

Readme

Keywords

none

Package Sidebar

Install

npm i @blockr/blockr-data-access

Weekly Downloads

0

Version

2.1.0-18

License

MIT

Unpacked Size

115 kB

Total Files

63

Last publish

Collaborators

  • saltz