UNPKG

@mytmpvpn/mytmpvpn-client

Version:

MyTmpVpn Client Library

43 lines (42 loc) 1.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getDefaultUserConfigDir = exports.loadUserConfig = exports.loadUserProfile = exports.getDefaultUserProfile = exports.getDefaultUserConfigFile = void 0; const path = require("path"); const os = require("os"); const log = require("loglevel"); const errors_1 = require("@mytmpvpn/mytmpvpn-common/errors"); function getDefaultUserConfigDir() { return path.join(os.homedir(), '.config', 'mytmpvpn'); } exports.getDefaultUserConfigDir = getDefaultUserConfigDir; function getDefaultUserConfigFile() { return path.join(getDefaultUserConfigDir(), 'mytmpvpn.json'); } exports.getDefaultUserConfigFile = getDefaultUserConfigFile; function getDefaultUserProfile() { return 'default'; } exports.getDefaultUserProfile = getDefaultUserProfile; function loadUserConfig(userConfigFile) { try { log.debug(`Loading user config from: ${userConfigFile}`); /* eslint-disable-next-line @typescript-eslint/no-var-requires */ const userConfig = require(userConfigFile); return userConfig; } catch (err) { throw new errors_1.MyTmpVpnError(`Can't find user config: ${userConfigFile} -- caused by: ${JSON.stringify(err)}`); } } exports.loadUserConfig = loadUserConfig; function loadUserProfile(userConfigFile, profileName) { const userConfig = loadUserConfig(userConfigFile); const profileNameKey = profileName; log.debug(`Loading user profile ${profileName} from ${JSON.stringify(userConfig)}`); const userProfile = userConfig.profiles[profileNameKey]; if (userProfile == null) { throw new errors_1.MyTmpVpnError(`Can't find configuration for ${profileName} in ${userConfigFile}`); } return userProfile; } exports.loadUserProfile = loadUserProfile;