@naturalcycles/nodejs-lib
Version:
Standard library for Node.js
33 lines • 936 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const fs = require("fs-extra");
require("dotenv/config"); // ensure .env is read before requiring keys
/*
type ObjectWithKeysOf<T extends readonly string[]> = {
[k in ValuesOf<T>]: string
}
*/
/**
* @example
*
* const {a, b} = requreEnvKeys(['a', 'b'])
*
* Will throw if any of the passed keys is not defined.
*/
function requireEnvKeys(...keys) {
return keys.reduce((r, k) => {
const v = process.env[k];
if (!v)
throw new Error(`${k} env variable is required, but missing`);
r[k] = v;
return r;
}, {});
}
exports.requireEnvKeys = requireEnvKeys;
async function requireFileToExist(filePath) {
if (!(await fs.pathExists(filePath))) {
throw new Error(`Required file should exist: ${filePath}`);
}
}
exports.requireFileToExist = requireFileToExist;
//# sourceMappingURL=env.util.js.map