UNPKG

@d3vtool/strict-env

Version:

A utility to automatically load and validate environment variables from `.env` files, ensuring they're properly configured before your system starts.

34 lines (33 loc) 1.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.eValidator = eValidator; const validator_1 = require("@d3vtool/validator"); function eValidator(validators, envMap) { try { if (validators instanceof validator_1.ObjectValidator) { validators.validate(envMap); } else if (typeof validators === "object" && 'hasOwnProperty' in validators) { for (const key in validators) { const errors = validators[key].validateSafely(envMap[key]); if (errors.length > 0) { throw new validator_1.ObjectValidationError(key, errors[0]); } } } else { throw new validator_1.ValidationError("Invalid validator object was passed."); } } catch (err) { if (err instanceof validator_1.ValidationError) { throw new validator_1.ValidationError(err.message); } else if (err instanceof validator_1.ObjectValidationError) { throw new validator_1.ValidationError(`For key '${err.key}': ${err.message}'`); } else { throw new validator_1.ValidationError("Something went wrong, please re-check your validator."); } } }