rangement/conf/configs.ts

62 lines
1.6 KiB
TypeScript

import mainTemplates from './mainTemplates'
import constants from './folders'
import cv from './controlled_vocabulary'
import log, {LogLevelDesc} from 'loglevel'
interface ConfigOverride {
iso_date_format?: string,
log_actions?: string,
log_level?: 'debug' | 'warn' | 'info',
}
/**
* configuration générale à importer dans les utilitaires
*/
class config_rangement {
log_level: LogLevelDesc = 'debug' // 'debug' | 'warn' |'info'
version = '1.0.0'
iso_date_format = 'yyyy-MM-DDTHH.mm.ss' // target format for dates in file names
tagSeparator = ' '
tagSectionSeparator = '--'
keepFreeText = true
keepTags = true
replaceUnderscoreWithSpaces = true
renameFolders = false
enableTestsLocally = false
reportStatistics = true
controlled_vocabulary = cv
constants = constants
base_archive_folder = constants.base_archive_folder
templates = mainTemplates;
statistics = {};
keepOriginalNameInRename = true;
log_actions = true;
/**
* override config if we want
* @param overridingConfig
*/
constructor(overridingConfig?: ConfigOverride) {
log.setLevel('info')
if (overridingConfig) {
log.debug('configuration is overrided')
let keys = Object.keys(overridingConfig)
let self: any = this;
keys.forEach((elem, index) => {
if (self[keys[index]]) {
self[keys[index]] = elem
}
})
}
}
}
const rangement_instance = new config_rangement({});
export default rangement_instance