Simple parser

This commit is contained in:
Tanya Byrne
2020-08-25 18:59:01 +01:00
parent 4f6345d105
commit 46b1ae5b15
3 changed files with 17 additions and 11 deletions

View File

@@ -4,7 +4,7 @@ import {
IRateLimiterStoreOptions,
IRateLimiterOptions,
} from 'rate-limiter-flexible';
import camelcase from 'camelcase';
import parseEnv from './utils/parse-env';
import { RedisNotFoundException } from './exceptions';
import env from './env';
@@ -54,10 +54,8 @@ function getRateLimiterRedisConfig(): IRateLimiterStoreOptions {
for (const [key, value] of Object.entries(env)) {
if (key.startsWith('REDIS')) {
// amended as we want the second and third words
const configKey = camelcase(
key.split('_').filter((_, index) => [0, 0].includes(index) === false)
);
redisConfig[configKey] = value;
redisConfig[parseEnv(key, 0)] = value;
}
}

View File

@@ -4,7 +4,7 @@ import {
StorageManagerConfig,
Storage,
} from '@slynova/flydrive';
import camelcase from 'camelcase';
import parseEnv from './utils/parse-env';
import env from './env';
import { AmazonWebServicesS3Storage } from '@slynova/flydrive-s3';
@@ -33,11 +33,7 @@ function getStorageConfig(): StorageManagerConfig {
config.disks[disk].driver = value;
continue;
}
const configKey = camelcase(
key.split('_').filter((_, index) => [0, 1].includes(index) === false)
);
config.disks[disk].config[configKey] = value;
config.disks[disk].config[parseEnv(key, 1)] = value;
}
return config;

View File

@@ -0,0 +1,12 @@
import camelcase from 'camelcase';
import env from '../env';
export default function parseEnv(key: string, splitWord: number) {
// splitWord 0 = exclude first word on _
const config = camelcase(
key.split('_').filter((_, index) => [0, splitWord].includes(index) === false)
);
return config;
}