@dbs-portal/core-config
Version:
Advanced configuration management for DBS Portal with convict schema validation and deepmerge support
1,406 lines • 129 kB
JavaScript
import Ut, { existsSync as Qr, readFileSync as en, watchFile as tn, unwatchFile as rn } from "fs";
import nn, { resolve as lt } from "path";
var Ue = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
function $t(f) {
return f && f.__esModule && Object.prototype.hasOwnProperty.call(f, "default") ? f.default : f;
}
function on(f) {
if (Object.prototype.hasOwnProperty.call(f, "__esModule")) return f;
var e = f.default;
if (typeof e == "function") {
var t = function n() {
return this instanceof n ? Reflect.construct(e, arguments, this.constructor) : e.apply(this, arguments);
};
t.prototype = e.prototype;
} else t = {};
return Object.defineProperty(t, "__esModule", { value: !0 }), Object.keys(f).forEach(function(n) {
var l = Object.getOwnPropertyDescriptor(f, n);
Object.defineProperty(t, n, l.get ? l : {
enumerable: !0,
get: function() {
return f[n];
}
});
}), t;
}
function Nt(f) {
throw new Error('Could not dynamically require "' + f + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
}
const sn = {}, an = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
__proto__: null,
default: sn
}, Symbol.toStringTag, { value: "Module" })), cn = /* @__PURE__ */ on(an);
var ut, jt;
function ln() {
if (jt) return ut;
jt = 1;
var f = cn, e = Ut, t = nn;
function n(h) {
if (h !== h.toLowerCase() && h !== h.toUpperCase() || (h = h.toLowerCase()), h.indexOf("-") === -1 && h.indexOf("_") === -1)
return h;
{
let L = "", T = !1;
const v = h.match(/^-+/);
for (let U = v ? v[0].length : 0; U < h.length; U++) {
let P = h.charAt(U);
T && (T = !1, P = P.toUpperCase()), U !== 0 && (P === "-" || P === "_") ? T = !0 : P !== "-" && P !== "_" && (L += P);
}
return L;
}
}
function l(h, S) {
const L = h.toLowerCase();
S = S || "-";
let T = "";
for (let v = 0; v < h.length; v++) {
const U = L.charAt(v), P = h.charAt(v);
U !== P && v > 0 ? T += `${S}${L.charAt(v)}` : T += P;
}
return T;
}
function _(h) {
return h == null ? !1 : typeof h == "number" || /^0x[0-9a-f]+$/i.test(h) ? !0 : /^0[^.]/.test(h) ? !1 : /^[-]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(h);
}
function N(h) {
if (Array.isArray(h))
return h.map((P) => typeof P != "string" ? P + "" : P);
h = h.trim();
let S = 0, L = null, T = null, v = null;
const U = [];
for (let P = 0; P < h.length; P++) {
if (L = T, T = h.charAt(P), T === " " && !v) {
L !== " " && S++;
continue;
}
T === v ? v = null : (T === "'" || T === '"') && !v && (v = T), U[S] || (U[S] = ""), U[S] += T;
}
return U;
}
var I;
(function(h) {
h.BOOLEAN = "boolean", h.STRING = "string", h.NUMBER = "number", h.ARRAY = "array";
})(I || (I = {}));
let j;
class H {
constructor(S) {
j = S;
}
parse(S, L) {
const T = Object.assign({
alias: void 0,
array: void 0,
boolean: void 0,
config: void 0,
configObjects: void 0,
configuration: void 0,
coerce: void 0,
count: void 0,
default: void 0,
envPrefix: void 0,
narg: void 0,
normalize: void 0,
string: void 0,
number: void 0,
__: void 0,
key: void 0
}, L), v = N(S), U = z(Object.assign(/* @__PURE__ */ Object.create(null), T.alias)), P = Object.assign({
"boolean-negation": !0,
"camel-case-expansion": !0,
"combine-arrays": !1,
"dot-notation": !0,
"duplicate-arguments-array": !0,
"flatten-duplicate-arrays": !0,
"greedy-arrays": !0,
"halt-at-non-option": !1,
"nargs-eats-options": !1,
"negation-prefix": "no-",
"parse-numbers": !0,
"parse-positional-numbers": !0,
"populate--": !1,
"set-placeholder-key": !1,
"short-option-groups": !0,
"strip-aliased": !1,
"strip-dashed": !1,
"unknown-options-as-args": !1
}, T.configuration), k = Object.assign(/* @__PURE__ */ Object.create(null), T.default), pe = T.configObjects || [], ue = T.envPrefix, _e = P["populate--"], ae = _e ? "--" : "_", se = /* @__PURE__ */ Object.create(null), p = /* @__PURE__ */ Object.create(null), g = T.__ || j.format, a = {
aliases: /* @__PURE__ */ Object.create(null),
arrays: /* @__PURE__ */ Object.create(null),
bools: /* @__PURE__ */ Object.create(null),
strings: /* @__PURE__ */ Object.create(null),
numbers: /* @__PURE__ */ Object.create(null),
counts: /* @__PURE__ */ Object.create(null),
normalize: /* @__PURE__ */ Object.create(null),
configs: /* @__PURE__ */ Object.create(null),
nargs: /* @__PURE__ */ Object.create(null),
coercions: /* @__PURE__ */ Object.create(null),
keys: []
}, m = /^-([0-9]+(\.[0-9]+)?|\.[0-9]+)$/, b = new RegExp("^--" + P["negation-prefix"] + "(.+)");
[].concat(T.array || []).filter(Boolean).forEach(function(o) {
const s = typeof o == "object" ? o.key : o, E = Object.keys(o).map(function(u) {
return {
boolean: "bools",
string: "strings",
number: "numbers"
}[u];
}).filter(Boolean).pop();
E && (a[E][s] = !0), a.arrays[s] = !0, a.keys.push(s);
}), [].concat(T.boolean || []).filter(Boolean).forEach(function(o) {
a.bools[o] = !0, a.keys.push(o);
}), [].concat(T.string || []).filter(Boolean).forEach(function(o) {
a.strings[o] = !0, a.keys.push(o);
}), [].concat(T.number || []).filter(Boolean).forEach(function(o) {
a.numbers[o] = !0, a.keys.push(o);
}), [].concat(T.count || []).filter(Boolean).forEach(function(o) {
a.counts[o] = !0, a.keys.push(o);
}), [].concat(T.normalize || []).filter(Boolean).forEach(function(o) {
a.normalize[o] = !0, a.keys.push(o);
}), typeof T.narg == "object" && Object.entries(T.narg).forEach(([o, s]) => {
typeof s == "number" && (a.nargs[o] = s, a.keys.push(o));
}), typeof T.coerce == "object" && Object.entries(T.coerce).forEach(([o, s]) => {
typeof s == "function" && (a.coercions[o] = s, a.keys.push(o));
}), typeof T.config < "u" && (Array.isArray(T.config) || typeof T.config == "string" ? [].concat(T.config).filter(Boolean).forEach(function(o) {
a.configs[o] = !0;
}) : typeof T.config == "object" && Object.entries(T.config).forEach(([o, s]) => {
(typeof s == "boolean" || typeof s == "function") && (a.configs[o] = s);
})), tt(T.key, U, T.default, a.arrays), Object.keys(k).forEach(function(o) {
(a.aliases[o] || []).forEach(function(s) {
k[s] = k[o];
});
});
let x = null;
rt();
let y = [];
const O = Object.assign(/* @__PURE__ */ Object.create(null), { _: [] }), V = {};
for (let o = 0; o < v.length; o++) {
const s = v[o], E = s.replace(/^-{3,}/, "---");
let u, i, A, w, D, W;
if (s !== "--" && ie(s))
$(s);
else if (E.match(/---+(=|$)/)) {
$(s);
continue;
} else if (s.match(/^--.+=/) || !P["short-option-groups"] && s.match(/^-.+=/))
w = s.match(/^--?([^=]+)=([\s\S]*)$/), w !== null && Array.isArray(w) && w.length >= 3 && (M(w[1], a.arrays) ? o = G(o, w[1], v, w[2]) : M(w[1], a.nargs) !== !1 ? o = B(o, w[1], v, w[2]) : F(w[1], w[2]));
else if (s.match(b) && P["boolean-negation"])
w = s.match(b), w !== null && Array.isArray(w) && w.length >= 2 && (i = w[1], F(i, M(i, a.arrays) ? [!1] : !1));
else if (s.match(/^--.+/) || !P["short-option-groups"] && s.match(/^-[^-]+/))
w = s.match(/^--?(.+)/), w !== null && Array.isArray(w) && w.length >= 2 && (i = w[1], M(i, a.arrays) ? o = G(o, i, v) : M(i, a.nargs) !== !1 ? o = B(o, i, v) : (D = v[o + 1], D !== void 0 && (!D.match(/^-/) || D.match(m)) && !M(i, a.bools) && !M(i, a.counts) || /^(true|false)$/.test(D) ? (F(i, D), o++) : F(i, ye(i))));
else if (s.match(/^-.\..+=/))
w = s.match(/^-([^=]+)=([\s\S]*)$/), w !== null && Array.isArray(w) && w.length >= 3 && F(w[1], w[2]);
else if (s.match(/^-.\..+/) && !s.match(m))
D = v[o + 1], w = s.match(/^-(.\..+)/), w !== null && Array.isArray(w) && w.length >= 2 && (i = w[1], D !== void 0 && !D.match(/^-/) && !M(i, a.bools) && !M(i, a.counts) ? (F(i, D), o++) : F(i, ye(i)));
else if (s.match(/^-[^-]+/) && !s.match(m)) {
A = s.slice(1, -1).split(""), u = !1;
for (let K = 0; K < A.length; K++) {
if (D = s.slice(K + 2), A[K + 1] && A[K + 1] === "=") {
W = s.slice(K + 3), i = A[K], M(i, a.arrays) ? o = G(o, i, v, W) : M(i, a.nargs) !== !1 ? o = B(o, i, v, W) : F(i, W), u = !0;
break;
}
if (D === "-") {
F(A[K], D);
continue;
}
if (/[A-Za-z]/.test(A[K]) && /^-?\d+(\.\d*)?(e-?\d+)?$/.test(D) && M(D, a.bools) === !1) {
F(A[K], D), u = !0;
break;
}
if (A[K + 1] && A[K + 1].match(/\W/)) {
F(A[K], D), u = !0;
break;
} else
F(A[K], ye(A[K]));
}
i = s.slice(-1)[0], !u && i !== "-" && (M(i, a.arrays) ? o = G(o, i, v) : M(i, a.nargs) !== !1 ? o = B(o, i, v) : (D = v[o + 1], D !== void 0 && (!/^(-|--)[^-]/.test(D) || D.match(m)) && !M(i, a.bools) && !M(i, a.counts) || /^(true|false)$/.test(D) ? (F(i, D), o++) : F(i, ye(i))));
} else if (s.match(/^-[0-9]$/) && s.match(m) && M(s.slice(1), a.bools))
i = s.slice(1), F(i, ye(i));
else if (s === "--") {
y = v.slice(o + 1);
break;
} else if (P["halt-at-non-option"]) {
y = v.slice(o);
break;
} else
$(s);
}
We(O, !0), We(O, !1), Ee(O), et(), Ie(O, a.aliases, k, !0), Ke(O), P["set-placeholder-key"] && ke(O), Object.keys(a.counts).forEach(function(o) {
be(O, o.split(".")) || F(o, 0);
}), _e && y.length && (O[ae] = []), y.forEach(function(o) {
O[ae].push(o);
}), P["camel-case-expansion"] && P["strip-dashed"] && Object.keys(O).filter((o) => o !== "--" && o.includes("-")).forEach((o) => {
delete O[o];
}), P["strip-aliased"] && [].concat(...Object.keys(U).map((o) => U[o])).forEach((o) => {
P["camel-case-expansion"] && o.includes("-") && delete O[o.split(".").map((s) => n(s)).join(".")], delete O[o];
});
function $(o) {
const s = Z("_", o);
(typeof s == "string" || typeof s == "number") && O._.push(s);
}
function B(o, s, E, u) {
let i, A = M(s, a.nargs);
if (A = typeof A != "number" || isNaN(A) ? 1 : A, A === 0)
return ce(u) || (x = Error(g("Argument unexpected for: %s", s))), F(s, ye(s)), o;
let w = ce(u) ? 0 : 1;
if (P["nargs-eats-options"])
E.length - (o + 1) + w < A && (x = Error(g("Not enough arguments following: %s", s))), w = A;
else {
for (i = o + 1; i < E.length && (!E[i].match(/^-[^0-9]/) || E[i].match(m) || ie(E[i])); i++)
w++;
w < A && (x = Error(g("Not enough arguments following: %s", s)));
}
let D = Math.min(w, A);
for (!ce(u) && D > 0 && (F(s, u), D--), i = o + 1; i < D + o + 1; i++)
F(s, E[i]);
return o + D;
}
function G(o, s, E, u) {
let i = [], A = u || E[o + 1];
const w = M(s, a.nargs);
if (M(s, a.bools) && !/^(true|false)$/.test(A))
i.push(!0);
else if (ce(A) || ce(u) && /^-/.test(A) && !m.test(A) && !ie(A)) {
if (k[s] !== void 0) {
const D = k[s];
i = Array.isArray(D) ? D : [D];
}
} else {
ce(u) || i.push(X(s, u));
for (let D = o + 1; D < E.length && !(!P["greedy-arrays"] && i.length > 0 || w && typeof w == "number" && i.length >= w || (A = E[D], /^-/.test(A) && !m.test(A) && !ie(A))); D++)
o = D, i.push(X(s, A));
}
return typeof w == "number" && (w && i.length < w || isNaN(w) && i.length === 0) && (x = Error(g("Not enough arguments following: %s", s))), F(s, i), o;
}
function F(o, s) {
if (/-/.test(o) && P["camel-case-expansion"]) {
const i = o.split(".").map(function(A) {
return n(A);
}).join(".");
Se(o, i);
}
const E = X(o, s), u = o.split(".");
ve(O, u, E), a.aliases[o] && a.aliases[o].forEach(function(i) {
const A = i.split(".");
ve(O, A, E);
}), u.length > 1 && P["dot-notation"] && (a.aliases[u[0]] || []).forEach(function(i) {
let A = i.split(".");
const w = [].concat(u);
w.shift(), A = A.concat(w), (a.aliases[o] || []).includes(A.join(".")) || ve(O, A, E);
}), M(o, a.normalize) && !M(o, a.arrays) && [o].concat(a.aliases[o] || []).forEach(function(A) {
Object.defineProperty(V, A, {
enumerable: !0,
get() {
return s;
},
set(w) {
s = typeof w == "string" ? j.normalize(w) : w;
}
});
});
}
function Se(o, s) {
a.aliases[o] && a.aliases[o].length || (a.aliases[o] = [s], se[s] = !0), a.aliases[s] && a.aliases[s].length || Se(s, o);
}
function X(o, s) {
typeof s == "string" && (s[0] === "'" || s[0] === '"') && s[s.length - 1] === s[0] && (s = s.substring(1, s.length - 1)), (M(o, a.bools) || M(o, a.counts)) && typeof s == "string" && (s = s === "true");
let E = Array.isArray(s) ? s.map(function(u) {
return Z(o, u);
}) : Z(o, s);
return M(o, a.counts) && (ce(E) || typeof E == "boolean") && (E = re()), M(o, a.normalize) && M(o, a.arrays) && (Array.isArray(s) ? E = s.map((u) => j.normalize(u)) : E = j.normalize(s)), E;
}
function Z(o, s) {
return !P["parse-positional-numbers"] && o === "_" || !M(o, a.strings) && !M(o, a.bools) && !Array.isArray(s) && (_(s) && P["parse-numbers"] && Number.isSafeInteger(Math.floor(parseFloat(`${s}`))) || !ce(s) && M(o, a.numbers)) && (s = Number(s)), s;
}
function Ee(o) {
const s = /* @__PURE__ */ Object.create(null);
Ie(s, a.aliases, k), Object.keys(a.configs).forEach(function(E) {
const u = o[E] || s[E];
if (u)
try {
let i = null;
const A = j.resolve(j.cwd(), u), w = a.configs[E];
if (typeof w == "function") {
try {
i = w(A);
} catch (D) {
i = D;
}
if (i instanceof Error) {
x = i;
return;
}
} else
i = j.require(A);
Q(i);
} catch (i) {
i.name === "PermissionDenied" ? x = i : o[E] && (x = Error(g("Invalid JSON config file: %s", u)));
}
});
}
function Q(o, s) {
Object.keys(o).forEach(function(E) {
const u = o[E], i = s ? s + "." + E : E;
typeof u == "object" && u !== null && !Array.isArray(u) && P["dot-notation"] ? Q(u, i) : (!be(O, i.split(".")) || M(i, a.arrays) && P["combine-arrays"]) && F(i, u);
});
}
function et() {
typeof pe < "u" && pe.forEach(function(o) {
Q(o);
});
}
function We(o, s) {
if (typeof ue > "u")
return;
const E = typeof ue == "string" ? ue : "", u = j.env();
Object.keys(u).forEach(function(i) {
if (E === "" || i.lastIndexOf(E, 0) === 0) {
const A = i.split("__").map(function(w, D) {
return D === 0 && (w = w.substring(E.length)), n(w);
});
(s && a.configs[A.join(".")] || !s) && !be(o, A) && F(A.join("."), u[i]);
}
});
}
function Ke(o) {
let s;
const E = /* @__PURE__ */ new Set();
Object.keys(o).forEach(function(u) {
if (!E.has(u) && (s = M(u, a.coercions), typeof s == "function"))
try {
const i = Z(u, s(o[u]));
[].concat(a.aliases[u] || [], u).forEach((A) => {
E.add(A), o[A] = i;
});
} catch (i) {
x = i;
}
});
}
function ke(o) {
return a.keys.forEach((s) => {
~s.indexOf(".") || typeof o[s] > "u" && (o[s] = void 0);
}), o;
}
function Ie(o, s, E, u = !1) {
Object.keys(E).forEach(function(i) {
be(o, i.split(".")) || (ve(o, i.split("."), E[i]), u && (p[i] = !0), (s[i] || []).forEach(function(A) {
be(o, A.split(".")) || ve(o, A.split("."), E[i]);
}));
});
}
function be(o, s) {
let E = o;
P["dot-notation"] || (s = [s.join(".")]), s.slice(0, -1).forEach(function(i) {
E = E[i] || {};
});
const u = s[s.length - 1];
return typeof E != "object" ? !1 : u in E;
}
function ve(o, s, E) {
let u = o;
P["dot-notation"] || (s = [s.join(".")]), s.slice(0, -1).forEach(function(W) {
W = ne(W), typeof u == "object" && u[W] === void 0 && (u[W] = {}), typeof u[W] != "object" || Array.isArray(u[W]) ? (Array.isArray(u[W]) ? u[W].push({}) : u[W] = [u[W], {}], u = u[W][u[W].length - 1]) : u = u[W];
});
const i = ne(s[s.length - 1]), A = M(s.join("."), a.arrays), w = Array.isArray(E);
let D = P["duplicate-arguments-array"];
!D && M(i, a.nargs) && (D = !0, (!ce(u[i]) && a.nargs[i] === 1 || Array.isArray(u[i]) && u[i].length === a.nargs[i]) && (u[i] = void 0)), E === re() ? u[i] = re(u[i]) : Array.isArray(u[i]) ? D && A && w ? u[i] = P["flatten-duplicate-arrays"] ? u[i].concat(E) : (Array.isArray(u[i][0]) ? u[i] : [u[i]]).concat([E]) : !D && !!A == !!w ? u[i] = E : u[i] = u[i].concat([E]) : u[i] === void 0 && A ? u[i] = w ? E : [E] : D && !(u[i] === void 0 || M(i, a.counts) || M(i, a.bools)) ? u[i] = [u[i], E] : u[i] = E;
}
function tt(...o) {
o.forEach(function(s) {
Object.keys(s || {}).forEach(function(E) {
a.aliases[E] || (a.aliases[E] = [].concat(U[E] || []), a.aliases[E].concat(E).forEach(function(u) {
if (/-/.test(u) && P["camel-case-expansion"]) {
const i = n(u);
i !== E && a.aliases[E].indexOf(i) === -1 && (a.aliases[E].push(i), se[i] = !0);
}
}), a.aliases[E].concat(E).forEach(function(u) {
if (u.length > 1 && /[A-Z]/.test(u) && P["camel-case-expansion"]) {
const i = l(u, "-");
i !== E && a.aliases[E].indexOf(i) === -1 && (a.aliases[E].push(i), se[i] = !0);
}
}), a.aliases[E].forEach(function(u) {
a.aliases[u] = [E].concat(a.aliases[E].filter(function(i) {
return u !== i;
}));
}));
});
});
}
function M(o, s) {
const E = [].concat(a.aliases[o] || [], o), u = Object.keys(s), i = E.find((A) => u.includes(A));
return i ? s[i] : !1;
}
function Re(o) {
const s = Object.keys(a);
return [].concat(s.map((u) => a[u])).some(function(u) {
return Array.isArray(u) ? u.includes(o) : u[o];
});
}
function He(o, ...s) {
return [].concat(...s).some(function(u) {
const i = o.match(u);
return i && Re(i[1]);
});
}
function Ge(o) {
if (o.match(m) || !o.match(/^-[^-]+/))
return !1;
let s = !0, E;
const u = o.slice(1).split("");
for (let i = 0; i < u.length; i++) {
if (E = o.slice(i + 2), !Re(u[i])) {
s = !1;
break;
}
if (u[i + 1] && u[i + 1] === "=" || E === "-" || /[A-Za-z]/.test(u[i]) && /^-?\d+(\.\d*)?(e-?\d+)?$/.test(E) || u[i + 1] && u[i + 1].match(/\W/))
break;
}
return s;
}
function ie(o) {
return P["unknown-options-as-args"] && Ce(o);
}
function Ce(o) {
return o = o.replace(/^-{3,}/, "--"), o.match(m) || Ge(o) ? !1 : !He(o, /^-+([^=]+?)=[\s\S]*$/, b, /^-+([^=]+?)$/, /^-+([^=]+?)-$/, /^-+([^=]+?\d+)$/, /^-+([^=]+?)\W+.*$/);
}
function ye(o) {
return !M(o, a.bools) && !M(o, a.counts) && `${o}` in k ? k[o] : qe(Ye(o));
}
function qe(o) {
return {
[I.BOOLEAN]: !0,
[I.STRING]: "",
[I.NUMBER]: void 0,
[I.ARRAY]: []
}[o];
}
function Ye(o) {
let s = I.BOOLEAN;
return M(o, a.strings) ? s = I.STRING : M(o, a.numbers) ? s = I.NUMBER : M(o, a.bools) ? s = I.BOOLEAN : M(o, a.arrays) && (s = I.ARRAY), s;
}
function ce(o) {
return o === void 0;
}
function rt() {
Object.keys(a.counts).find((o) => M(o, a.arrays) ? (x = Error(g("Invalid configuration: %s, opts.count excludes opts.array.", o)), !0) : M(o, a.nargs) ? (x = Error(g("Invalid configuration: %s, opts.count excludes opts.narg.", o)), !0) : !1);
}
return {
aliases: Object.assign({}, a.aliases),
argv: Object.assign(V, O),
configuration: P,
defaulted: Object.assign({}, p),
error: x,
newAliases: Object.assign({}, se)
};
}
}
function z(h) {
const S = [], L = /* @__PURE__ */ Object.create(null);
let T = !0;
for (Object.keys(h).forEach(function(v) {
S.push([].concat(h[v], v));
}); T; ) {
T = !1;
for (let v = 0; v < S.length; v++)
for (let U = v + 1; U < S.length; U++)
if (S[v].filter(function(k) {
return S[U].indexOf(k) !== -1;
}).length) {
S[v] = S[v].concat(S[U]), S.splice(U, 1), T = !0;
break;
}
}
return S.forEach(function(v) {
v = v.filter(function(P, k, pe) {
return pe.indexOf(P) === k;
});
const U = v.pop();
U !== void 0 && typeof U == "string" && (L[U] = v);
}), L;
}
function re(h) {
return h !== void 0 ? h + 1 : 1;
}
function ne(h) {
return h === "__proto__" ? "___proto___" : h;
}
const de = process && process.env && process.env.YARGS_MIN_NODE_VERSION ? Number(process.env.YARGS_MIN_NODE_VERSION) : 10;
if (process && process.version && Number(process.version.match(/v([^.]+)/)[1]) < de)
throw Error(`yargs parser supports a minimum Node.js version of ${de}. Read our version support policy: https://github.com/yargs/yargs-parser#supported-nodejs-versions`);
const he = process ? process.env : {}, Y = new H({
cwd: process.cwd,
env: () => he,
format: f.format,
normalize: t.normalize,
resolve: t.resolve,
require: (h) => {
if (typeof Nt < "u")
return Nt(h);
if (h.match(/\.json$/))
return e.readFileSync(h, "utf8");
throw Error("only .json config files are supported in ESM");
}
}), oe = function(S, L) {
return Y.parse(S.slice(), L).argv;
};
return oe.detailed = function(h, S) {
return Y.parse(h.slice(), S);
}, oe.camelCase = n, oe.decamelize = l, oe.looksLikeNumber = _, ut = oe, ut;
}
var $e = { exports: {} };
$e.exports;
var Lt;
function un() {
return Lt || (Lt = 1, function(f, e) {
var t = 200, n = "__lodash_hash_undefined__", l = 9007199254740991, _ = "[object Arguments]", N = "[object Array]", I = "[object Boolean]", j = "[object Date]", H = "[object Error]", z = "[object Function]", re = "[object GeneratorFunction]", ne = "[object Map]", de = "[object Number]", he = "[object Object]", Y = "[object Promise]", oe = "[object RegExp]", h = "[object Set]", S = "[object String]", L = "[object Symbol]", T = "[object WeakMap]", v = "[object ArrayBuffer]", U = "[object DataView]", P = "[object Float32Array]", k = "[object Float64Array]", pe = "[object Int8Array]", ue = "[object Int16Array]", _e = "[object Int32Array]", ae = "[object Uint8Array]", se = "[object Uint8ClampedArray]", p = "[object Uint16Array]", g = "[object Uint32Array]", a = /[\\^$.*+?()[\]{}|]/g, m = /\w*$/, b = /^\[object .+?Constructor\]$/, x = /^(?:0|[1-9]\d*)$/, y = {};
y[_] = y[N] = y[v] = y[U] = y[I] = y[j] = y[P] = y[k] = y[pe] = y[ue] = y[_e] = y[ne] = y[de] = y[he] = y[oe] = y[h] = y[S] = y[L] = y[ae] = y[se] = y[p] = y[g] = !0, y[H] = y[z] = y[T] = !1;
var O = typeof Ue == "object" && Ue && Ue.Object === Object && Ue, V = typeof self == "object" && self && self.Object === Object && self, $ = O || V || Function("return this")(), B = e && !e.nodeType && e, G = B && !0 && f && !f.nodeType && f, F = G && G.exports === B;
function Se(r, c) {
return r.set(c[0], c[1]), r;
}
function X(r, c) {
return r.add(c), r;
}
function Z(r, c) {
for (var d = -1, R = r ? r.length : 0; ++d < R && c(r[d], d, r) !== !1; )
;
return r;
}
function Ee(r, c) {
for (var d = -1, R = c.length, q = r.length; ++d < R; )
r[q + d] = c[d];
return r;
}
function Q(r, c, d, R) {
for (var q = -1, ee = r ? r.length : 0; ++q < ee; )
d = c(d, r[q], q, r);
return d;
}
function et(r, c) {
for (var d = -1, R = Array(r); ++d < r; )
R[d] = c(d);
return R;
}
function We(r, c) {
return r == null ? void 0 : r[c];
}
function Ke(r) {
var c = !1;
if (r != null && typeof r.toString != "function")
try {
c = !!(r + "");
} catch {
}
return c;
}
function ke(r) {
var c = -1, d = Array(r.size);
return r.forEach(function(R, q) {
d[++c] = [q, R];
}), d;
}
function Ie(r, c) {
return function(d) {
return r(c(d));
};
}
function be(r) {
var c = -1, d = Array(r.size);
return r.forEach(function(R) {
d[++c] = R;
}), d;
}
var ve = Array.prototype, tt = Function.prototype, M = Object.prototype, Re = $["__core-js_shared__"], He = function() {
var r = /[^.]+$/.exec(Re && Re.keys && Re.keys.IE_PROTO || "");
return r ? "Symbol(src)_1." + r : "";
}(), Ge = tt.toString, ie = M.hasOwnProperty, Ce = M.toString, ye = RegExp(
"^" + Ge.call(ie).replace(a, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
), qe = F ? $.Buffer : void 0, Ye = $.Symbol, ce = $.Uint8Array, rt = Ie(Object.getPrototypeOf, Object), o = Object.create, s = M.propertyIsEnumerable, E = ve.splice, u = Object.getOwnPropertySymbols, i = qe ? qe.isBuffer : void 0, A = Ie(Object.keys, Object), w = Ne($, "DataView"), D = Ne($, "Map"), W = Ne($, "Promise"), K = Ne($, "Set"), nt = Ne($, "WeakMap"), Ve = Ne(Object, "create"), Xt = Te(w), Zt = Te(D), Qt = Te(W), er = Te(K), tr = Te(nt), bt = Ye ? Ye.prototype : void 0, yt = bt ? bt.valueOf : void 0;
function we(r) {
var c = -1, d = r ? r.length : 0;
for (this.clear(); ++c < d; ) {
var R = r[c];
this.set(R[0], R[1]);
}
}
function rr() {
this.__data__ = Ve ? Ve(null) : {};
}
function nr(r) {
return this.has(r) && delete this.__data__[r];
}
function or(r) {
var c = this.__data__;
if (Ve) {
var d = c[r];
return d === n ? void 0 : d;
}
return ie.call(c, r) ? c[r] : void 0;
}
function sr(r) {
var c = this.__data__;
return Ve ? c[r] !== void 0 : ie.call(c, r);
}
function ir(r, c) {
var d = this.__data__;
return d[r] = Ve && c === void 0 ? n : c, this;
}
we.prototype.clear = rr, we.prototype.delete = nr, we.prototype.get = or, we.prototype.has = sr, we.prototype.set = ir;
function ge(r) {
var c = -1, d = r ? r.length : 0;
for (this.clear(); ++c < d; ) {
var R = r[c];
this.set(R[0], R[1]);
}
}
function ar() {
this.__data__ = [];
}
function cr(r) {
var c = this.__data__, d = Je(c, r);
if (d < 0)
return !1;
var R = c.length - 1;
return d == R ? c.pop() : E.call(c, d, 1), !0;
}
function lr(r) {
var c = this.__data__, d = Je(c, r);
return d < 0 ? void 0 : c[d][1];
}
function ur(r) {
return Je(this.__data__, r) > -1;
}
function fr(r, c) {
var d = this.__data__, R = Je(d, r);
return R < 0 ? d.push([r, c]) : d[R][1] = c, this;
}
ge.prototype.clear = ar, ge.prototype.delete = cr, ge.prototype.get = lr, ge.prototype.has = ur, ge.prototype.set = fr;
function Pe(r) {
var c = -1, d = r ? r.length : 0;
for (this.clear(); ++c < d; ) {
var R = r[c];
this.set(R[0], R[1]);
}
}
function dr() {
this.__data__ = {
hash: new we(),
map: new (D || ge)(),
string: new we()
};
}
function hr(r) {
return ze(this, r).delete(r);
}
function pr(r) {
return ze(this, r).get(r);
}
function gr(r) {
return ze(this, r).has(r);
}
function mr(r, c) {
return ze(this, r).set(r, c), this;
}
Pe.prototype.clear = dr, Pe.prototype.delete = hr, Pe.prototype.get = pr, Pe.prototype.has = gr, Pe.prototype.set = mr;
function De(r) {
this.__data__ = new ge(r);
}
function _r() {
this.__data__ = new ge();
}
function Er(r) {
return this.__data__.delete(r);
}
function br(r) {
return this.__data__.get(r);
}
function yr(r) {
return this.__data__.has(r);
}
function Sr(r, c) {
var d = this.__data__;
if (d instanceof ge) {
var R = d.__data__;
if (!D || R.length < t - 1)
return R.push([r, c]), this;
d = this.__data__ = new Pe(R);
}
return d.set(r, c), this;
}
De.prototype.clear = _r, De.prototype.delete = Er, De.prototype.get = br, De.prototype.has = yr, De.prototype.set = Sr;
function vr(r, c) {
var d = it(r) || Gr(r) ? et(r.length, String) : [], R = d.length, q = !!R;
for (var ee in r)
ie.call(r, ee) && !(q && (ee == "length" || Wr(ee, R))) && d.push(ee);
return d;
}
function St(r, c, d) {
var R = r[c];
(!(ie.call(r, c) && Tt(R, d)) || d === void 0 && !(c in r)) && (r[c] = d);
}
function Je(r, c) {
for (var d = r.length; d--; )
if (Tt(r[d][0], c))
return d;
return -1;
}
function wr(r, c) {
return r && vt(c, at(c), r);
}
function ot(r, c, d, R, q, ee, me) {
var te;
if (R && (te = ee ? R(r, q, ee, me) : R(r)), te !== void 0)
return te;
if (!Xe(r))
return r;
var Rt = it(r);
if (Rt) {
if (te = $r(r), !c)
return xr(r, te);
} else {
var je = Ae(r), Ct = je == z || je == re;
if (Yr(r))
return Cr(r, c);
if (je == he || je == _ || Ct && !ee) {
if (Ke(r))
return ee ? r : {};
if (te = Br(Ct ? {} : r), !c)
return Vr(r, wr(te, r));
} else {
if (!y[je])
return ee ? r : {};
te = Fr(r, je, ot, c);
}
}
me || (me = new De());
var Pt = me.get(r);
if (Pt)
return Pt;
if (me.set(r, te), !Rt)
var Dt = d ? Ur(r) : at(r);
return Z(Dt || r, function(ct, Ze) {
Dt && (Ze = ct, ct = r[Ze]), St(te, Ze, ot(ct, c, d, R, Ze, r, me));
}), te;
}
function Ar(r) {
return Xe(r) ? o(r) : {};
}
function Tr(r, c, d) {
var R = c(r);
return it(r) ? R : Ee(R, d(r));
}
function Or(r) {
return Ce.call(r);
}
function Ir(r) {
if (!Xe(r) || kr(r))
return !1;
var c = It(r) || Ke(r) ? ye : b;
return c.test(Te(r));
}
function Rr(r) {
if (!At(r))
return A(r);
var c = [];
for (var d in Object(r))
ie.call(r, d) && d != "constructor" && c.push(d);
return c;
}
function Cr(r, c) {
if (c)
return r.slice();
var d = new r.constructor(r.length);
return r.copy(d), d;
}
function st(r) {
var c = new r.constructor(r.byteLength);
return new ce(c).set(new ce(r)), c;
}
function Pr(r, c) {
var d = c ? st(r.buffer) : r.buffer;
return new r.constructor(d, r.byteOffset, r.byteLength);
}
function Dr(r, c, d) {
var R = c ? d(ke(r), !0) : ke(r);
return Q(R, Se, new r.constructor());
}
function Nr(r) {
var c = new r.constructor(r.source, m.exec(r));
return c.lastIndex = r.lastIndex, c;
}
function jr(r, c, d) {
var R = c ? d(be(r), !0) : be(r);
return Q(R, X, new r.constructor());
}
function Lr(r) {
return yt ? Object(yt.call(r)) : {};
}
function Mr(r, c) {
var d = c ? st(r.buffer) : r.buffer;
return new r.constructor(d, r.byteOffset, r.length);
}
function xr(r, c) {
var d = -1, R = r.length;
for (c || (c = Array(R)); ++d < R; )
c[d] = r[d];
return c;
}
function vt(r, c, d, R) {
d || (d = {});
for (var q = -1, ee = c.length; ++q < ee; ) {
var me = c[q], te = void 0;
St(d, me, te === void 0 ? r[me] : te);
}
return d;
}
function Vr(r, c) {
return vt(r, wt(r), c);
}
function Ur(r) {
return Tr(r, at, wt);
}
function ze(r, c) {
var d = r.__data__;
return Kr(c) ? d[typeof c == "string" ? "string" : "hash"] : d.map;
}
function Ne(r, c) {
var d = We(r, c);
return Ir(d) ? d : void 0;
}
var wt = u ? Ie(u, Object) : Xr, Ae = Or;
(w && Ae(new w(new ArrayBuffer(1))) != U || D && Ae(new D()) != ne || W && Ae(W.resolve()) != Y || K && Ae(new K()) != h || nt && Ae(new nt()) != T) && (Ae = function(r) {
var c = Ce.call(r), d = c == he ? r.constructor : void 0, R = d ? Te(d) : void 0;
if (R)
switch (R) {
case Xt:
return U;
case Zt:
return ne;
case Qt:
return Y;
case er:
return h;
case tr:
return T;
}
return c;
});
function $r(r) {
var c = r.length, d = r.constructor(c);
return c && typeof r[0] == "string" && ie.call(r, "index") && (d.index = r.index, d.input = r.input), d;
}
function Br(r) {
return typeof r.constructor == "function" && !At(r) ? Ar(rt(r)) : {};
}
function Fr(r, c, d, R) {
var q = r.constructor;
switch (c) {
case v:
return st(r);
case I:
case j:
return new q(+r);
case U:
return Pr(r, R);
case P:
case k:
case pe:
case ue:
case _e:
case ae:
case se:
case p:
case g:
return Mr(r, R);
case ne:
return Dr(r, R, d);
case de:
case S:
return new q(r);
case oe:
return Nr(r);
case h:
return jr(r, R, d);
case L:
return Lr(r);
}
}
function Wr(r, c) {
return c = c ?? l, !!c && (typeof r == "number" || x.test(r)) && r > -1 && r % 1 == 0 && r < c;
}
function Kr(r) {
var c = typeof r;
return c == "string" || c == "number" || c == "symbol" || c == "boolean" ? r !== "__proto__" : r === null;
}
function kr(r) {
return !!He && He in r;
}
function At(r) {
var c = r && r.constructor, d = typeof c == "function" && c.prototype || M;
return r === d;
}
function Te(r) {
if (r != null) {
try {
return Ge.call(r);
} catch {
}
try {
return r + "";
} catch {
}
}
return "";
}
function Hr(r) {
return ot(r, !0, !0);
}
function Tt(r, c) {
return r === c || r !== r && c !== c;
}
function Gr(r) {
return qr(r) && ie.call(r, "callee") && (!s.call(r, "callee") || Ce.call(r) == _);
}
var it = Array.isArray;
function Ot(r) {
return r != null && Jr(r.length) && !It(r);
}
function qr(r) {
return zr(r) && Ot(r);
}
var Yr = i || Zr;
function It(r) {
var c = Xe(r) ? Ce.call(r) : "";
return c == z || c == re;
}
function Jr(r) {
return typeof r == "number" && r > -1 && r % 1 == 0 && r <= l;
}
function Xe(r) {
var c = typeof r;
return !!r && (c == "object" || c == "function");
}
function zr(r) {
return !!r && typeof r == "object";
}
function at(r) {
return Ot(r) ? vr(r) : Rr(r);
}
function Xr() {
return [];
}
function Zr() {
return !1;
}
f.exports = Hr;
}($e, $e.exports)), $e.exports;
}
var ft, Mt;
function fn() {
if (Mt) return ft;
Mt = 1;
const f = Ut, e = ln(), t = un(), n = [
"__proto__.",
"constructor.prototype."
], l = "strict", _ = "warn";
function N(p, g) {
if (!p)
throw new Error(g);
}
function I(p) {
return Number.isInteger(p) && p >= 0 && p <= 65535;
}
function j(p) {
return String(p).includes("\\\\.\\pipe\\");
}
const H = {
"*": function() {
},
int: function(p) {
N(Number.isInteger(p), "must be an integer");
},
nat: function(p) {
N(Number.isInteger(p) && p >= 0, "must be a positive integer");
},
port: function(p) {
N(I(p), "ports must be within range 0 - 65535");
},
windows_named_pipe: function(p) {
N(j(p), "must be a valid pipe");
},
port_or_windows_named_pipe: function(p) {
j(p) || N(I(p), "must be a windows named pipe or a number within range 0 - 65535");
}
};
H.integer = H.int;
const z = /* @__PURE__ */ new Map(), re = { "*": JSON.parse };
function ne(p, g) {
const a = Object.keys(p);
let m;
const b = [];
for (; a.length; ) {
m = a.shift();
let y = ae(p, m);
if (typeof y == "object" && !Array.isArray(y) && y != null) {
if (g)
if ("_cvtProperties" in y)
y = y._cvtProperties, m = `${m}._cvtProperties`;
else {
b.push([m, y]);
continue;
}
const O = Object.keys(y);
if (O.length > 0) {
O.forEach(function(V) {
a.push(`${m}.${V}`);
});
continue;
}
}
b.push([m, y]);
}
const x = {};
return b.forEach(function(y) {
let O = y[0];
g && (O = O.replace(/\._cvtProperties/g, ""));
const V = y[1];
x[O] = V;
}), x;
}
function de(p, g, a) {
const m = {
undeclared: [],
invalid_type: [],
missing: []
}, b = ne(p), x = ne(g._cvtProperties, !0);
return Object.keys(x).forEach(function(y) {
const O = x[y];
let V = b[y];
if (!(y in b))
try {
if (typeof O.default == "object" && !Array.isArray(O.default))
V = ae(p, y);
else
throw new Error("missing");
} catch {
const B = new Error(`configuration param '${y}' missing from config, did you override its parent?`);
m.missing.push(B);
return;
}
if (delete b[y], (O.format === "object" || typeof O.default == "object") && Object.keys(b).filter(function($) {
return $.lastIndexOf(`${y}.`, 0) === 0;
}).forEach(function($) {
delete b[$];
}), !(typeof O.default > "u" && V === O.default))
try {
O._format(V);
} catch ($) {
m.invalid_type.push($);
}
}), a && Object.keys(b).forEach(function(y) {
const O = new Error(`configuration param '${y}' not declared in the schema`);
m.undeclared.push(O);
}), m;
}
function he(p, g) {
N(
p.indexOf(g) !== -1,
`must be one of the possible values: ${JSON.stringify(p)}`
);
}
const Y = {
Object,
Array,
String,
Number,
Boolean,
RegExp
}, oe = Object.keys(Y), h = oe.map(function(p) {
return Y[p];
});
function S(p, g, a, m, b, x, y) {
if (p === "_cvtProperties")
throw new Error(`'${m}': '_cvtProperties' is reserved word of convict.`);
if (typeof g == "object" && g !== null && !Array.isArray(g) && Object.keys(g).length > 0 && !("default" in g)) {
a[p] = {
_cvtProperties: {}
}, Object.keys(g).forEach(function(B) {
S(B, g[B], a[p]._cvtProperties, `${m}.${B}`, b, x, y);
});
return;
} else (typeof g != "object" || Array.isArray(g) || g === null || Object.keys(g).length == 0) && (g = { default: g });
const O = t(g);
if (a[p] = O, O.env && (b[O.env] || (b[O.env] = []), b[O.env].push(m)), O.arg) {
if (x[O.arg])
throw new Error(`'${m}' reuses a command-line argument: ${O.arg}`);
x[O.arg] = m;
}
O.sensitive === !0 && y.add(m);
const V = O.format;
let $;
if (h.indexOf(V) >= 0 || oe.indexOf(V) >= 0) {
const B = typeof V == "string" ? Y[V] : V;
$ = function(G) {
N(Object.prototype.toString.call(G) == Object.prototype.toString.call(new B()), `must be of type ${B.name}`);
}, O.format = B.name.toLowerCase();
} else if (typeof V == "string") {
if (!H[V])
throw new Error(`'${m}' uses an unknown format type: ${V}`);
$ = H[V];
} else if (Array.isArray(V))
$ = he.bind(null, V);
else if (typeof V == "function")
$ = V;
else if (V && typeof V != "function")
throw new Error(`'${m}': "format" must be a function or a known format type.`);
if (!$ && !V) {
const B = Object.prototype.toString.call(O.default);
$ = function(G) {
N(
Object.prototype.toString.call(G) == B,
" should be of type " + B.replace(/\[.* |]/g, "")
);
};
}
O._format = function(B) {
if (!(this.nullable && B === null))
try {
$(B, this);
} catch (G) {
throw G.fullName = m, G.value = B, G;
}
};
}
function L(p) {
const g = p.getEnv();
Object.keys(p._env).forEach(function(a) {
g[a] !== void 0 && p._env[a].forEach(function(b) {
p.set(b, g[a]);
});
});
}
function T(p) {
const g = e(p.getArgs(), {
configuration: {
"dot-notation": !1
}
});
Object.keys(p._argv).forEach(function(a) {
const m = p._argv[a];
g[a] !== void 0 && p.set(m, String(g[a]));
});
}
function v(p, g, a) {
Object.keys(p._cvtProperties).forEach(function(m) {
const b = p._cvtProperties[m];
if (b._cvtProperties) {
const x = g[m] || {};
v(b, x, a), g[m] = x;
} else
g[m] = ue(m, t(b.default), p, a);
});
}
function U(p) {
return typeof p == "object" && p !== null;
}
function P(p, g, a) {
Object.keys(p).forEach(function(m) {
Array.isArray(p[m]) || !U(p[m]) || !a || a.format === "object" ? g[m] = ue(m, p[m], a) : (U(g[m]) || (g[m] = {}), P(p[m], g[m], a._cvtProperties[m]));
});
}
function k(p, g) {
const a = g.split(".");
let m = p;
for (; a.length > 0; ) {
const b = a.shift();
if (m && m._cvtProperties && m._cvtProperties[b])
m = m._cvtProperties[b];
else {
m = null;
break;
}
}
return m;
}
function pe(p, g) {
const a = k(p, g);
return a == null ? null : typeof a.format == "string" ? a.format : a.default != null ? typeof a.default : null;
}
function ue(p, g, a, m) {
const b = pe(a, p);
if (typeof g == "string") {
if (z.has(b))
return z.get(b)(g, m, p);
switch (b) {
case "port":
case "nat":
case "integer":
case "int":
g = parseInt(g, 10);
break;
case "port_or_windows_named_pipe":
g = j(g) ? g : parseInt(g, 10);
break;
case "number":
g = parseFloat(g);
break;
case "boolean":
g = String(g).toLowerCase() !== "false";
break;
case "array":
g = g.split(",");
break;
case "object":
g = JSON.parse(g);
break;
case "regexp":
g = new RegExp(g);
break;
}
}
return g;
}
function _e(p) {
const g = p.split("."), a = g.length > 1 ? g.pop() : "";
return (re[a] || re["*"])(f.readFileSync(p, "utf-8"));
}
function ae(p, g, a) {
if (g) {
const m = g.split(".");
for (; m.length; ) {
const b = m.shift();
if (a && p[b] == null)
p[b] = {}, p = p[b];
else if (b in p)
p = p[b];
else
throw new Error(`cannot find configuration param '${g}'`);
}
}
return p;
}
const se = function(g, a) {
const m = {
/**
* Gets the array of process arguments, using the override passed to the
* convict function or process.argv if no override was passed.
*/
getArgs: function() {
return a && a.args || process.argv.slice(2);
},
/**
* Gets the environment variable map, using the override passed to the
* convict function or process.env if no override was passed.
*/
getEnv: function() {
return a && a.env || process.env;
},
/**
* Exports all the properties (that is the keys and their current values) as JSON
*/
getProperties: function() {
return t(this._instance);
},
/**
* Exports all the properties (that is the keys and their current values) as
* a JSON string, with sensitive values masked. Sensitive values are masked
* even if they aren't set, to avoid revealing any information.
*/
toString: function() {
const b = t(this._instance);
return this._sensitive.forEach(function(x) {
const y = x.split("."), O = y.pop(), V = y.join("."), $ = ae(b, V);
$[O] = "[Sensitive]";
}), JSON.stringify(b, null, 2);
},
/**
* Exports the schema as JSON.
*/
getSchema: function() {
return JSON.parse(JSON.stringify(this._schema));
},
/**
* Exports the schema as a JSON string
*/
getSchemaString: function() {
return JSON.stringify(this._schema, null, 2);
},
/**
* @returns the current value of the name property. name can use dot
* notation to reference nested values
*/
get: function(b) {
const x = ae(this._instance, b);
return t(x);
},
/**
* @returns the default value of the name property. name can use dot
* notation to reference nested values
*/
default: function(b) {
b = b.split(".").join("._cvtProperties.") + ".default";
const x = ae(this._schema._cvtProperties, b);
return t(x);
},
/**
* Resets a property to its default value as defined in the schema
*/
reset: function(b) {
this.set(b, this.default(b));
},
/**
* @returns true if the property name is defined, or false otherwise
*/
has: function(b) {
try {
return typeof this.get(b) < "u";
} catch {
return !1;
}
},
/**
* Sets the value of name to value. name can use dot notation to reference
* nested values, e.g. "database.port". If objects in the chain don't yet
* exist, they will be initialized to empty objects
*/
set: function(b, x) {
for (const B of n)
if (b.startsWith(B) || b.includes(`.${B}`))
return this;
x = ue(b, x, this._schema, this);
const y = b.split("."), O = y.pop(), V = y.join("."), $ = ae(this._instance, V, !0);
return $[O] = x, this;
},
/**
* Loads and merges a JavaScript object into config
*/
load: function(b) {
return P(b, this._instance, this._schema), L(m), T(m), this;
},
/**
* Loads and merges one or multiple JSON configuration files into config
*/
loadFile: function(b) {
const x = this;
return Array.isArray(b) || (b = [b]), b.forEach(function(y) {
const O = _e(y);
O && P(O, x._instance, x._schema);
}), L(m), T(m), this;
},
/**
* Validates config against the schema used to initialize it
*/
validate: function(b) {
if (b = b || {}, b.allowed = b.allowed || _, b.output && typeof b.output != "function")
throw new Error("options.output is optional and must be a function.");
const x = b.output || Ue.console.log, y = de(this._instance, this._schema, b.allowed);
if (y.invalid_type.length + y.undeclared.length + y.missing.length) {
const O = this._sensitive, V = function(X) {
let Z = "";
for (let Ee = 0; Ee < X.length; Ee++) {
Z.length && (Z += `
`);
const Q = X[Ee];
Q.fullName && (Z += Q.fullName + ": "), Q.message && (Z += Q.message), Q.value && !O.has(Q.fullName) && (Z += ": value was " + JSON.stringify(Q.value));
}
return Z;
}, $ = V(y.invalid_type), B = V(y.undeclared), G = V(y.missing), F = [$, G];
if (b.