// Copyright Jerome Benoit. 2021-2023. All Rights Reserved.
-import { StorageType } from '../../types/Storage';
import { JsonFileStorage } from './JsonFileStorage';
import { MikroOrmStorage } from './MikroOrmStorage';
import { MongoDBStorage } from './MongoDBStorage';
import type { Storage } from './Storage';
+import { BaseError } from '../../exception';
+import { StorageType } from '../../types';
export class StorageFactory {
private constructor() {
}
public static getStorage(type: StorageType, connectionUri: string, logPrefix: string): Storage {
- let storageInstance: Storage = null;
+ let storageInstance: Storage | null = null;
switch (type) {
case StorageType.JSON_FILE:
storageInstance = new JsonFileStorage(connectionUri, logPrefix);
// storageInstance = new MikroOrmStorage(connectionUri, logPrefix, type);
// break;
default:
- throw new Error(`${logPrefix} Unknown storage type: ${type}`);
+ throw new BaseError(`${logPrefix} Unknown storage type: ${type}`);
}
return storageInstance;
}