@open-syk/common v0.4.0
@open-syk/common
The @open-syk/common library is a collection of packages that provide common functionalities that can be used across projects. The packages currently available are:
Packages
@open-syk/common/config
The @open-syk/common/config package provides a configuration singleton that can be used to load environment variables and configuration files. It exposes a SykConfigSingleton class that can be instantiated to load the configuration files. The package also provides a run method to initiate the loading of configuration files.
Example usage:
import { SykConfigSingleton } from '@open-syk/common/config';
import * as path from 'path';
SykConfigSingleton
.getInstance()
.run(path.join(__dirname, 'lib/config/envs'));@open-syk/common/logger
The @open-syk/common/logger package provides a logging functionality that can be used to log messages to the console or a file. It exposes a Logger class that can be instantiated to create a logger. The logger can log messages at different levels such as info, debug, error, etc. The package also provides a way to mask sensitive data fields in the logged messages.
Example usage:
import Logger from '@open-syk/common/logger';
const logger = Logger("test");
const maskedFields = ['...']
const data = {...}
logger.info('message', data, maskedFields)@open-syk/common/db/typeorm
The @open-syk/common/db/typeorm package provides a way to perform database operations using TypeORM. It exposes two methods, onSession and onTransaction, that can be used to perform read and write operations, respectively.
Example usage:
import { onSession, onTransaction } from '@open-syk/common/db/typeorm';
// to get records
const user = await onSession(dataSource, async (manager) => {
return this.userService.findOne(manager, email);
});
// to create, update and delete records
const userCreated = await onTransaction(dataSource, async (manager) => {
return this.userService.create(manager, {
email,
name
});
});@open-syk/common/errors
The @open-syk/common/errors package provides a decorator orThrowError that can be used to throw an error when a condition is not met. The decorator takes an error class that will be used to throw the error.
import { orThrowError } from '@open-syk/common/errors';
export class ErrorValidator {
@orThrowError(BadRequestException)
static orThrowBadRequestError(response: any, messageError: string) {}
}