1 | ;
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.mapValueToSeverity = exports.parseENV = exports.setGlobalOptions = void 0;
|
4 | const constants_1 = require("./internal/constants");
|
5 | const data_1 = require("./internal/data");
|
6 | const errors_1 = require("./internal/errors");
|
7 | const utils_1 = require("./internal/utils");
|
8 | const logSettings_1 = require("./logSettings");
|
9 | /**
|
10 | * Set Typegoose's global Options
|
11 | */
|
12 | function setGlobalOptions(options) {
|
13 | (0, utils_1.assertion)(!(0, utils_1.isNullOrUndefined)(options) && typeof options === 'object', () => new errors_1.ExpectedTypeError('options', 'object', options));
|
14 | logSettings_1.logger.info('"setGlobalOptions" got called with', options);
|
15 | for (const key of Object.keys(options)) {
|
16 | data_1.globalOptions[key] = Object.assign({}, data_1.globalOptions[key], options[key]);
|
17 | }
|
18 | logSettings_1.logger.info('new Global Options:', options);
|
19 | }
|
20 | exports.setGlobalOptions = setGlobalOptions;
|
21 | /**
|
22 | * Parse Typegoose Environment Variables and apply them
|
23 | */
|
24 | function parseENV() {
|
25 | logSettings_1.logger.info('"parseENV" got called');
|
26 | // do nothing if no process variable existing
|
27 | if (typeof process === 'undefined' || (0, utils_1.isNullOrUndefined)(process?.env)) {
|
28 | return;
|
29 | }
|
30 | const options = {
|
31 | globalOptions: {},
|
32 | options: {
|
33 | allowMixed: process.env.TG_ALLOW_MIXED && process.env.TG_ALLOW_MIXED in constants_1.Severity
|
34 | ? mapValueToSeverity(process.env.TG_ALLOW_MIXED)
|
35 | : data_1.globalOptions.options?.allowMixed,
|
36 | },
|
37 | };
|
38 | setGlobalOptions(options);
|
39 | }
|
40 | exports.parseENV = parseENV;
|
41 | /**
|
42 | * Maps strings to the number of "Severity"
|
43 | * -> This function is specifically build for "Severity"-Enum
|
44 | * @throws {Error} if not in range of the "Severity"-Enum
|
45 | * @example
|
46 | * ```ts
|
47 | * mapValueToSeverity("WARN") === 1
|
48 | * mapValueToSeverity("1") === 1
|
49 | * // now internal use
|
50 | * mapValueToSeverity(1) === 1
|
51 | * ```
|
52 | * @param value The Value to translate
|
53 | * @internal
|
54 | */
|
55 | function mapValueToSeverity(value) {
|
56 | (0, utils_1.assertion)(value in constants_1.Severity, () => new Error(`"value" is not in range of "Severity"! (got: ${value})`));
|
57 | if (typeof value === 'number') {
|
58 | return value;
|
59 | }
|
60 | return mapValueToSeverity(constants_1.Severity[value]);
|
61 | }
|
62 | exports.mapValueToSeverity = mapValueToSeverity;
|
63 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsT3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9nbG9iYWxPcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG9EQUFnRDtBQUNoRCwwQ0FBZ0Q7QUFDaEQsOENBQXNEO0FBQ3RELDRDQUFnRTtBQUNoRSwrQ0FBdUM7QUFHdkM7O0dBRUc7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxPQUF1QjtJQUN0RCxJQUFBLGlCQUFTLEVBQUMsQ0FBQyxJQUFBLHlCQUFpQixFQUFDLE9BQU8sQ0FBQyxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLDBCQUFpQixDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUVqSSxvQkFBTSxDQUFDLElBQUksQ0FBQyxvQ0FBb0MsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUUzRCxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDdEMsb0JBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxvQkFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0tBQzFFO0lBRUQsb0JBQU0sQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDOUMsQ0FBQztBQVZELDRDQVVDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixRQUFRO0lBQ3RCLG9CQUFNLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFFckMsNkNBQTZDO0lBQzdDLElBQUksT0FBTyxPQUFPLEtBQUssV0FBVyxJQUFJLElBQUEseUJBQWlCLEVBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFO1FBQ3JFLE9BQU87S0FDUjtJQUVELE1BQU0sT0FBTyxHQUFtQjtRQUM5QixhQUFhLEVBQUUsRUFBRTtRQUNqQixPQUFPLEVBQUU7WUFDUCxVQUFVLEVBQ1IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLElBQUksb0JBQVE7Z0JBQ2xFLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQztnQkFDaEQsQ0FBQyxDQUFDLG9CQUFhLENBQUMsT0FBTyxFQUFFLFVBQVU7U0FDeEM7S0FDRixDQUFDO0lBRUYsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDNUIsQ0FBQztBQW5CRCw0QkFtQkM7QUFFRDs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsU0FBZ0Isa0JBQWtCLENBQUMsS0FBc0I7SUFDdkQsSUFBQSxpQkFBUyxFQUFDLEtBQUssSUFBSSxvQkFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLGdEQUFnRCxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFFeEcsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDN0IsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELE9BQU8sa0JBQWtCLENBQUMsb0JBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFSRCxnREFRQyJ9 |
\ | No newline at end of file |