UNPKG

@typegoose/typegoose

Version:

Define Mongoose models using TypeScript classes

62 lines 4.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setGlobalOptions = setGlobalOptions; exports.parseENV = parseENV; exports.mapValueToSeverity = mapValueToSeverity; const constants_1 = require("./internal/constants"); const data_1 = require("./internal/data"); const errors_1 = require("./internal/errors"); const utils_1 = require("./internal/utils"); const logSettings_1 = require("./logSettings"); /** * Set Typegoose's global Options. */ function setGlobalOptions(options) { (0, utils_1.assertion)(!(0, utils_1.isNullOrUndefined)(options) && typeof options === 'object', () => new errors_1.ExpectedTypeError('options', 'object', options)); logSettings_1.logger.info('"setGlobalOptions" got called with', options); for (const key of Object.keys(options)) { data_1.globalOptions[key] = Object.assign({}, data_1.globalOptions[key], options[key]); } logSettings_1.logger.info('new Global Options:', options); } /** * Parse Typegoose Environment Variables and apply them */ function parseENV() { logSettings_1.logger.info('"parseENV" got called'); // do nothing if no process variable existing if (typeof process === 'undefined' || (0, utils_1.isNullOrUndefined)(process?.env)) { return; } const options = { globalOptions: {}, options: { allowMixed: process.env.TG_ALLOW_MIXED && process.env.TG_ALLOW_MIXED in constants_1.Severity ? mapValueToSeverity(process.env.TG_ALLOW_MIXED) : data_1.globalOptions.options?.allowMixed, }, }; setGlobalOptions(options); } /** * Maps strings to the number of "Severity" * -> This function is specifically build for "Severity"-Enum * @throws {Error} if not in range of the "Severity"-Enum * @example * ```ts * mapValueToSeverity("WARN") === 1 * mapValueToSeverity("1") === 1 * // now internal use * mapValueToSeverity(1) === 1 * ``` * @param value The Value to translate * @internal */ function mapValueToSeverity(value) { (0, utils_1.assertion)(value in constants_1.Severity, () => new Error(`"value" is not in range of "Severity"! (got: ${value})`)); if (typeof value === 'number') { return value; } return mapValueToSeverity(constants_1.Severity[value]); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsT3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9nbG9iYWxPcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBVUEsNENBVUM7QUFLRCw0QkFtQkM7QUFnQkQsZ0RBUUM7QUFwRUQsb0RBQWdEO0FBQ2hELDBDQUFnRDtBQUNoRCw4Q0FBc0Q7QUFDdEQsNENBQWdFO0FBQ2hFLCtDQUF1QztBQUd2Qzs7R0FFRztBQUNILFNBQWdCLGdCQUFnQixDQUFDLE9BQXVCO0lBQ3RELElBQUEsaUJBQVMsRUFBQyxDQUFDLElBQUEseUJBQWlCLEVBQUMsT0FBTyxDQUFDLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksMEJBQWlCLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBRWpJLG9CQUFNLENBQUMsSUFBSSxDQUFDLG9DQUFvQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRTNELEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3ZDLG9CQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsb0JBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsb0JBQU0sQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDOUMsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsUUFBUTtJQUN0QixvQkFBTSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBRXJDLDZDQUE2QztJQUM3QyxJQUFJLE9BQU8sT0FBTyxLQUFLLFdBQVcsSUFBSSxJQUFBLHlCQUFpQixFQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3RFLE9BQU87SUFDVCxDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQW1CO1FBQzlCLGFBQWEsRUFBRSxFQUFFO1FBQ2pCLE9BQU8sRUFBRTtZQUNQLFVBQVUsRUFDUixPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsSUFBSSxvQkFBUTtnQkFDbEUsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO2dCQUNoRCxDQUFDLENBQUMsb0JBQWEsQ0FBQyxPQUFPLEVBQUUsVUFBVTtTQUN4QztLQUNGLENBQUM7SUFFRixnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM1QixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILFNBQWdCLGtCQUFrQixDQUFDLEtBQXNCO0lBQ3ZELElBQUEsaUJBQVMsRUFBQyxLQUFLLElBQUksb0JBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxnREFBZ0QsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRXhHLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsT0FBTyxrQkFBa0IsQ0FBQyxvQkFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDN0MsQ0FBQyJ9