UNPKG

wildboar-context

Version:

Library for constructing context objects for pure functional programming.

58 lines 1.86 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const Plugin_1 = tslib_1.__importDefault(require("../Plugin")); const PluginKind_1 = tslib_1.__importDefault(require("../PluginKind")); const events_1 = require("events"); const lodash_1 = tslib_1.__importDefault(require("lodash")); class ConfigurationPlugin extends Plugin_1.default { constructor() { super(...arguments); this.kind = PluginKind_1.default.ConfigurationPlugin; this.events = new events_1.EventEmitter(); } updateValues(loadedValues) { this.values = lodash_1.default.defaultsDeep(loadedValues, this.defaults); this.events.emit("loaded"); } dump() { return JSON.stringify(this.values); } static convertStringToBoolean(str) { if (/^\s*1\s*$/i.test(str)) return true; if (/^\s*0\s*$/i.test(str)) return false; if (/^\s*\+\s*$/i.test(str)) return true; if (/^\s*\-\s*$/i.test(str)) return false; return undefined; } static convertStringToNumber(str) { try { const ret = Number(str); if (Number.isNaN(ret)) return undefined; return ret; } catch (e) { return undefined; } } static convertStringToInteger(str) { try { const ret = Number.parseInt(str, 10); if (Number.isNaN(ret)) return undefined; if (!Number.isSafeInteger(ret)) return undefined; return ret; } catch (e) { return undefined; } } } exports.default = ConfigurationPlugin; //# sourceMappingURL=ConfigurationPlugin.js.map