UNPKG

ee-ts-util

Version:

typescript utilities and functions

29 lines 1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const convict = require("convict"); require("fp-ts"); const Either_1 = require("fp-ts/lib/Either"); exports.buildConfigAdapter = (definition) => { const schema = {}; Object.keys(definition).forEach((name) => schema[name] = { env: name, format: definition[name].format ? definition[name].format : "*", default: null, }); const config = convict(schema); const missingVarMessages = Object.keys(definition).reduce((errorMessages, name) => { const value = config.get(name); return value == null ? errorMessages + name + ": defined but not set;" : errorMessages; }, ""); if (missingVarMessages.length > 0) { return Either_1.left(missingVarMessages); } try { config.validate(); } catch (e) { return Either_1.left(e.message); } return Either_1.right((key) => config.get(key)); }; //# sourceMappingURL=adapter.js.map