@dbml/parse
Version:
> TODO: description
1,632 lines • 195 kB
JavaScript
var Xn = typeof global == "object" && global && global.Object === Object && global, Hr = typeof self == "object" && self && self.Object === Object && self, be = Xn || Hr || Function("return this")(), pe = be.Symbol, Wn = Object.prototype, zr = Wn.hasOwnProperty, qr = Wn.toString, He = pe ? pe.toStringTag : void 0;
function Yr(e) {
var t = zr.call(e, He), n = e[He];
try {
e[He] = void 0;
var r = !0;
} catch {
}
var s = qr.call(e);
return r && (t ? e[He] = n : delete e[He]), s;
}
var Qr = Object.prototype, Kr = Qr.toString;
function Jr(e) {
return Kr.call(e);
}
var Zr = "[object Null]", es = "[object Undefined]", nn = pe ? pe.toStringTag : void 0;
function $e(e) {
return e == null ? e === void 0 ? es : Zr : nn && nn in Object(e) ? Yr(e) : Jr(e);
}
function Se(e) {
return e != null && typeof e == "object";
}
var ts = "[object Symbol]";
function pt(e) {
return typeof e == "symbol" || Se(e) && $e(e) == ts;
}
function Hn(e, t) {
for (var n = -1, r = e == null ? 0 : e.length, s = Array(r); ++n < r; )
s[n] = t(e[n], n, e);
return s;
}
var ce = Array.isArray, rn = pe ? pe.prototype : void 0, sn = rn ? rn.toString : void 0;
function zn(e) {
if (typeof e == "string")
return e;
if (ce(e))
return Hn(e, zn) + "";
if (pt(e))
return sn ? sn.call(e) : "";
var t = e + "";
return t == "0" && 1 / e == -1 / 0 ? "-0" : t;
}
var ns = /\s/;
function rs(e) {
for (var t = e.length; t-- && ns.test(e.charAt(t)); )
;
return t;
}
var ss = /^\s+/;
function is(e) {
return e && e.slice(0, rs(e) + 1).replace(ss, "");
}
function Ve(e) {
var t = typeof e;
return e != null && (t == "object" || t == "function");
}
var an = NaN, as = /^[-+]0x[0-9a-f]+$/i, os = /^0b[01]+$/i, ls = /^0o[0-7]+$/i, cs = parseInt;
function us(e) {
if (typeof e == "number")
return e;
if (pt(e))
return an;
if (Ve(e)) {
var t = typeof e.valueOf == "function" ? e.valueOf() : e;
e = Ve(t) ? t + "" : t;
}
if (typeof e != "string")
return e === 0 ? e : +e;
e = is(e);
var n = os.test(e);
return n || ls.test(e) ? cs(e.slice(2), n ? 2 : 8) : as.test(e) ? an : +e;
}
var on = 1 / 0, hs = 17976931348623157e292;
function fs(e) {
if (!e)
return e === 0 ? e : 0;
if (e = us(e), e === on || e === -on) {
var t = e < 0 ? -1 : 1;
return t * hs;
}
return e === e ? e : 0;
}
function ps(e) {
var t = fs(e), n = t % 1;
return t === t ? n ? t - n : t : 0;
}
function dt(e) {
return e;
}
var ds = "[object AsyncFunction]", Es = "[object Function]", Ns = "[object GeneratorFunction]", Ts = "[object Proxy]";
function qn(e) {
if (!Ve(e))
return !1;
var t = $e(e);
return t == Es || t == Ns || t == ds || t == Ts;
}
var vt = be["__core-js_shared__"], ln = function() {
var e = /[^.]+$/.exec(vt && vt.keys && vt.keys.IE_PROTO || "");
return e ? "Symbol(src)_1." + e : "";
}();
function bs(e) {
return !!ln && ln in e;
}
var ms = Function.prototype, Is = ms.toString;
function Ue(e) {
if (e != null) {
try {
return Is.call(e);
} catch {
}
try {
return e + "";
} catch {
}
}
return "";
}
var gs = /[\\^$.*+?()[\]{}|]/g, _s = /^\[object .+?Constructor\]$/, As = Function.prototype, Ls = Object.prototype, vs = As.toString, ys = Ls.hasOwnProperty, ws = RegExp(
"^" + vs.call(ys).replace(gs, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
);
function Ps(e) {
if (!Ve(e) || bs(e))
return !1;
var t = qn(e) ? ws : _s;
return t.test(Ue(e));
}
function Ss(e, t) {
return e == null ? void 0 : e[t];
}
function Me(e, t) {
var n = Ss(e, t);
return Ps(n) ? n : void 0;
}
var Pt = Me(be, "WeakMap");
function Os(e, t, n) {
switch (n.length) {
case 0:
return e.call(t);
case 1:
return e.call(t, n[0]);
case 2:
return e.call(t, n[0], n[1]);
case 3:
return e.call(t, n[0], n[1], n[2]);
}
return e.apply(t, n);
}
var xs = 800, Ds = 16, Rs = Date.now;
function ks(e) {
var t = 0, n = 0;
return function() {
var r = Rs(), s = Ds - (r - n);
if (n = r, s > 0) {
if (++t >= xs)
return arguments[0];
} else
t = 0;
return e.apply(void 0, arguments);
};
}
function Us(e) {
return function() {
return e;
};
}
var cn = function() {
try {
var e = Me(Object, "defineProperty");
return e({}, "", {}), e;
} catch {
}
}(), Ms = cn ? function(e, t) {
return cn(e, "toString", {
configurable: !0,
enumerable: !1,
value: Us(t),
writable: !0
});
} : dt, Fs = ks(Ms);
function Bs(e, t, n, r) {
e.length;
for (var s = n + 1; s--; )
if (t(e[s], s, e))
return s;
return -1;
}
var Gs = 9007199254740991, Vs = /^(?:0|[1-9]\d*)$/;
function Yn(e, t) {
var n = typeof e;
return t = t ?? Gs, !!t && (n == "number" || n != "symbol" && Vs.test(e)) && e > -1 && e % 1 == 0 && e < t;
}
function Qn(e, t) {
return e === t || e !== e && t !== t;
}
var un = Math.max;
function Cs(e, t, n) {
return t = un(t === void 0 ? e.length - 1 : t, 0), function() {
for (var r = arguments, s = -1, i = un(r.length - t, 0), a = Array(i); ++s < i; )
a[s] = r[t + s];
s = -1;
for (var o = Array(t + 1); ++s < t; )
o[s] = r[s];
return o[t] = n(a), Os(e, this, o);
};
}
function $s(e, t) {
return Fs(Cs(e, t, dt), e + "");
}
var js = 9007199254740991;
function Ft(e) {
return typeof e == "number" && e > -1 && e % 1 == 0 && e <= js;
}
function Et(e) {
return e != null && Ft(e.length) && !qn(e);
}
var Xs = Object.prototype;
function Kn(e) {
var t = e && e.constructor, n = typeof t == "function" && t.prototype || Xs;
return e === n;
}
function Jn(e, t) {
for (var n = -1, r = Array(e); ++n < e; )
r[n] = t(n);
return r;
}
var Ws = "[object Arguments]";
function hn(e) {
return Se(e) && $e(e) == Ws;
}
var Zn = Object.prototype, Hs = Zn.hasOwnProperty, zs = Zn.propertyIsEnumerable, Bt = hn(/* @__PURE__ */ function() {
return arguments;
}()) ? hn : function(e) {
return Se(e) && Hs.call(e, "callee") && !zs.call(e, "callee");
};
function qs() {
return !1;
}
var er = typeof exports == "object" && exports && !exports.nodeType && exports, fn = er && typeof module == "object" && module && !module.nodeType && module, Ys = fn && fn.exports === er, pn = Ys ? be.Buffer : void 0, Qs = pn ? pn.isBuffer : void 0, St = Qs || qs, Ks = "[object Arguments]", Js = "[object Array]", Zs = "[object Boolean]", ei = "[object Date]", ti = "[object Error]", ni = "[object Function]", ri = "[object Map]", si = "[object Number]", ii = "[object Object]", ai = "[object RegExp]", oi = "[object Set]", li = "[object String]", ci = "[object WeakMap]", ui = "[object ArrayBuffer]", hi = "[object DataView]", fi = "[object Float32Array]", pi = "[object Float64Array]", di = "[object Int8Array]", Ei = "[object Int16Array]", Ni = "[object Int32Array]", Ti = "[object Uint8Array]", bi = "[object Uint8ClampedArray]", mi = "[object Uint16Array]", Ii = "[object Uint32Array]", O = {};
O[fi] = O[pi] = O[di] = O[Ei] = O[Ni] = O[Ti] = O[bi] = O[mi] = O[Ii] = !0;
O[Ks] = O[Js] = O[ui] = O[Zs] = O[hi] = O[ei] = O[ti] = O[ni] = O[ri] = O[si] = O[ii] = O[ai] = O[oi] = O[li] = O[ci] = !1;
function gi(e) {
return Se(e) && Ft(e.length) && !!O[$e(e)];
}
function _i(e) {
return function(t) {
return e(t);
};
}
var tr = typeof exports == "object" && exports && !exports.nodeType && exports, ze = tr && typeof module == "object" && module && !module.nodeType && module, Ai = ze && ze.exports === tr, yt = Ai && Xn.process, dn = function() {
try {
var e = ze && ze.require && ze.require("util").types;
return e || yt && yt.binding && yt.binding("util");
} catch {
}
}(), En = dn && dn.isTypedArray, nr = En ? _i(En) : gi, Li = Object.prototype, vi = Li.hasOwnProperty;
function rr(e, t) {
var n = ce(e), r = !n && Bt(e), s = !n && !r && St(e), i = !n && !r && !s && nr(e), a = n || r || s || i, o = a ? Jn(e.length, String) : [], u = o.length;
for (var p in e)
(t || vi.call(e, p)) && !(a && // Safari 9 has enumerable `arguments.length` in strict mode.
(p == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
s && (p == "offset" || p == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
i && (p == "buffer" || p == "byteLength" || p == "byteOffset") || // Skip index properties.
Yn(p, u))) && o.push(p);
return o;
}
function yi(e, t) {
return function(n) {
return e(t(n));
};
}
var wi = yi(Object.keys, Object), Pi = Object.prototype, Si = Pi.hasOwnProperty;
function Oi(e) {
if (!Kn(e))
return wi(e);
var t = [];
for (var n in Object(e))
Si.call(e, n) && n != "constructor" && t.push(n);
return t;
}
function Gt(e) {
return Et(e) ? rr(e) : Oi(e);
}
function xi(e) {
var t = [];
if (e != null)
for (var n in Object(e))
t.push(n);
return t;
}
var Di = Object.prototype, Ri = Di.hasOwnProperty;
function ki(e) {
if (!Ve(e))
return xi(e);
var t = Kn(e), n = [];
for (var r in e)
r == "constructor" && (t || !Ri.call(e, r)) || n.push(r);
return n;
}
function Ui(e) {
return Et(e) ? rr(e, !0) : ki(e);
}
var Mi = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, Fi = /^\w*$/;
function Vt(e, t) {
if (ce(e))
return !1;
var n = typeof e;
return n == "number" || n == "symbol" || n == "boolean" || e == null || pt(e) ? !0 : Fi.test(e) || !Mi.test(e) || t != null && e in Object(t);
}
var Ye = Me(Object, "create");
function Bi() {
this.__data__ = Ye ? Ye(null) : {}, this.size = 0;
}
function Gi(e) {
var t = this.has(e) && delete this.__data__[e];
return this.size -= t ? 1 : 0, t;
}
var Vi = "__lodash_hash_undefined__", Ci = Object.prototype, $i = Ci.hasOwnProperty;
function ji(e) {
var t = this.__data__;
if (Ye) {
var n = t[e];
return n === Vi ? void 0 : n;
}
return $i.call(t, e) ? t[e] : void 0;
}
var Xi = Object.prototype, Wi = Xi.hasOwnProperty;
function Hi(e) {
var t = this.__data__;
return Ye ? t[e] !== void 0 : Wi.call(t, e);
}
var zi = "__lodash_hash_undefined__";
function qi(e, t) {
var n = this.__data__;
return this.size += this.has(e) ? 0 : 1, n[e] = Ye && t === void 0 ? zi : t, this;
}
function Oe(e) {
var t = -1, n = e == null ? 0 : e.length;
for (this.clear(); ++t < n; ) {
var r = e[t];
this.set(r[0], r[1]);
}
}
Oe.prototype.clear = Bi;
Oe.prototype.delete = Gi;
Oe.prototype.get = ji;
Oe.prototype.has = Hi;
Oe.prototype.set = qi;
function Yi() {
this.__data__ = [], this.size = 0;
}
function Nt(e, t) {
for (var n = e.length; n--; )
if (Qn(e[n][0], t))
return n;
return -1;
}
var Qi = Array.prototype, Ki = Qi.splice;
function Ji(e) {
var t = this.__data__, n = Nt(t, e);
if (n < 0)
return !1;
var r = t.length - 1;
return n == r ? t.pop() : Ki.call(t, n, 1), --this.size, !0;
}
function Zi(e) {
var t = this.__data__, n = Nt(t, e);
return n < 0 ? void 0 : t[n][1];
}
function ea(e) {
return Nt(this.__data__, e) > -1;
}
function ta(e, t) {
var n = this.__data__, r = Nt(n, e);
return r < 0 ? (++this.size, n.push([e, t])) : n[r][1] = t, this;
}
function me(e) {
var t = -1, n = e == null ? 0 : e.length;
for (this.clear(); ++t < n; ) {
var r = e[t];
this.set(r[0], r[1]);
}
}
me.prototype.clear = Yi;
me.prototype.delete = Ji;
me.prototype.get = Zi;
me.prototype.has = ea;
me.prototype.set = ta;
var Qe = Me(be, "Map");
function na() {
this.size = 0, this.__data__ = {
hash: new Oe(),
map: new (Qe || me)(),
string: new Oe()
};
}
function ra(e) {
var t = typeof e;
return t == "string" || t == "number" || t == "symbol" || t == "boolean" ? e !== "__proto__" : e === null;
}
function Tt(e, t) {
var n = e.__data__;
return ra(t) ? n[typeof t == "string" ? "string" : "hash"] : n.map;
}
function sa(e) {
var t = Tt(this, e).delete(e);
return this.size -= t ? 1 : 0, t;
}
function ia(e) {
return Tt(this, e).get(e);
}
function aa(e) {
return Tt(this, e).has(e);
}
function oa(e, t) {
var n = Tt(this, e), r = n.size;
return n.set(e, t), this.size += n.size == r ? 0 : 1, this;
}
function Ie(e) {
var t = -1, n = e == null ? 0 : e.length;
for (this.clear(); ++t < n; ) {
var r = e[t];
this.set(r[0], r[1]);
}
}
Ie.prototype.clear = na;
Ie.prototype.delete = sa;
Ie.prototype.get = ia;
Ie.prototype.has = aa;
Ie.prototype.set = oa;
var la = "Expected a function";
function Ct(e, t) {
if (typeof e != "function" || t != null && typeof t != "function")
throw new TypeError(la);
var n = function() {
var r = arguments, s = t ? t.apply(this, r) : r[0], i = n.cache;
if (i.has(s))
return i.get(s);
var a = e.apply(this, r);
return n.cache = i.set(s, a) || i, a;
};
return n.cache = new (Ct.Cache || Ie)(), n;
}
Ct.Cache = Ie;
var ca = 500;
function ua(e) {
var t = Ct(e, function(r) {
return n.size === ca && n.clear(), r;
}), n = t.cache;
return t;
}
var ha = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, fa = /\\(\\)?/g, pa = ua(function(e) {
var t = [];
return e.charCodeAt(0) === 46 && t.push(""), e.replace(ha, function(n, r, s, i) {
t.push(s ? i.replace(fa, "$1") : r || n);
}), t;
});
function da(e) {
return e == null ? "" : zn(e);
}
function sr(e, t) {
return ce(e) ? e : Vt(e, t) ? [e] : pa(da(e));
}
function bt(e) {
if (typeof e == "string" || pt(e))
return e;
var t = e + "";
return t == "0" && 1 / e == -1 / 0 ? "-0" : t;
}
function ir(e, t) {
t = sr(t, e);
for (var n = 0, r = t.length; e != null && n < r; )
e = e[bt(t[n++])];
return n && n == r ? e : void 0;
}
function ar(e, t, n) {
var r = e == null ? void 0 : ir(e, t);
return r === void 0 ? n : r;
}
function or(e, t) {
for (var n = -1, r = t.length, s = e.length; ++n < r; )
e[s + n] = t[n];
return e;
}
var Nn = pe ? pe.isConcatSpreadable : void 0;
function Ea(e) {
return ce(e) || Bt(e) || !!(Nn && e && e[Nn]);
}
function Na(e, t, n, r, s) {
var i = -1, a = e.length;
for (n || (n = Ea), s || (s = []); ++i < a; ) {
var o = e[i];
n(o) ? or(s, o) : s[s.length] = o;
}
return s;
}
function Tn(e) {
var t = e == null ? 0 : e.length;
return t ? Na(e) : [];
}
function Ta() {
this.__data__ = new me(), this.size = 0;
}
function ba(e) {
var t = this.__data__, n = t.delete(e);
return this.size = t.size, n;
}
function ma(e) {
return this.__data__.get(e);
}
function Ia(e) {
return this.__data__.has(e);
}
var ga = 200;
function _a(e, t) {
var n = this.__data__;
if (n instanceof me) {
var r = n.__data__;
if (!Qe || r.length < ga - 1)
return r.push([e, t]), this.size = ++n.size, this;
n = this.__data__ = new Ie(r);
}
return n.set(e, t), this.size = n.size, this;
}
function Ne(e) {
var t = this.__data__ = new me(e);
this.size = t.size;
}
Ne.prototype.clear = Ta;
Ne.prototype.delete = ba;
Ne.prototype.get = ma;
Ne.prototype.has = Ia;
Ne.prototype.set = _a;
function lr(e, t) {
for (var n = -1, r = e == null ? 0 : e.length, s = 0, i = []; ++n < r; ) {
var a = e[n];
t(a, n, e) && (i[s++] = a);
}
return i;
}
function Aa() {
return [];
}
var La = Object.prototype, va = La.propertyIsEnumerable, bn = Object.getOwnPropertySymbols, ya = bn ? function(e) {
return e == null ? [] : (e = Object(e), lr(bn(e), function(t) {
return va.call(e, t);
}));
} : Aa;
function wa(e, t, n) {
var r = t(e);
return ce(e) ? r : or(r, n(e));
}
function mn(e) {
return wa(e, Gt, ya);
}
var Ot = Me(be, "DataView"), xt = Me(be, "Promise"), Dt = Me(be, "Set"), In = "[object Map]", Pa = "[object Object]", gn = "[object Promise]", _n = "[object Set]", An = "[object WeakMap]", Ln = "[object DataView]", Sa = Ue(Ot), Oa = Ue(Qe), xa = Ue(xt), Da = Ue(Dt), Ra = Ue(Pt), ve = $e;
(Ot && ve(new Ot(new ArrayBuffer(1))) != Ln || Qe && ve(new Qe()) != In || xt && ve(xt.resolve()) != gn || Dt && ve(new Dt()) != _n || Pt && ve(new Pt()) != An) && (ve = function(e) {
var t = $e(e), n = t == Pa ? e.constructor : void 0, r = n ? Ue(n) : "";
if (r)
switch (r) {
case Sa:
return Ln;
case Oa:
return In;
case xa:
return gn;
case Da:
return _n;
case Ra:
return An;
}
return t;
});
var vn = be.Uint8Array, ka = "__lodash_hash_undefined__";
function Ua(e) {
return this.__data__.set(e, ka), this;
}
function Ma(e) {
return this.__data__.has(e);
}
function at(e) {
var t = -1, n = e == null ? 0 : e.length;
for (this.__data__ = new Ie(); ++t < n; )
this.add(e[t]);
}
at.prototype.add = at.prototype.push = Ua;
at.prototype.has = Ma;
function Fa(e, t) {
for (var n = -1, r = e == null ? 0 : e.length; ++n < r; )
if (t(e[n], n, e))
return !0;
return !1;
}
function Ba(e, t) {
return e.has(t);
}
var Ga = 1, Va = 2;
function cr(e, t, n, r, s, i) {
var a = n & Ga, o = e.length, u = t.length;
if (o != u && !(a && u > o))
return !1;
var p = i.get(e), h = i.get(t);
if (p && h)
return p == t && h == e;
var d = -1, E = !0, b = n & Va ? new at() : void 0;
for (i.set(e, t), i.set(t, e); ++d < o; ) {
var A = e[d], I = t[d];
if (r)
var v = a ? r(I, A, d, t, e, i) : r(A, I, d, e, t, i);
if (v !== void 0) {
if (v)
continue;
E = !1;
break;
}
if (b) {
if (!Fa(t, function(W, y) {
if (!Ba(b, y) && (A === W || s(A, W, n, r, i)))
return b.push(y);
})) {
E = !1;
break;
}
} else if (!(A === I || s(A, I, n, r, i))) {
E = !1;
break;
}
}
return i.delete(e), i.delete(t), E;
}
function Ca(e) {
var t = -1, n = Array(e.size);
return e.forEach(function(r, s) {
n[++t] = [s, r];
}), n;
}
function $a(e) {
var t = -1, n = Array(e.size);
return e.forEach(function(r) {
n[++t] = r;
}), n;
}
var ja = 1, Xa = 2, Wa = "[object Boolean]", Ha = "[object Date]", za = "[object Error]", qa = "[object Map]", Ya = "[object Number]", Qa = "[object RegExp]", Ka = "[object Set]", Ja = "[object String]", Za = "[object Symbol]", eo = "[object ArrayBuffer]", to = "[object DataView]", yn = pe ? pe.prototype : void 0, wt = yn ? yn.valueOf : void 0;
function no(e, t, n, r, s, i, a) {
switch (n) {
case to:
if (e.byteLength != t.byteLength || e.byteOffset != t.byteOffset)
return !1;
e = e.buffer, t = t.buffer;
case eo:
return !(e.byteLength != t.byteLength || !i(new vn(e), new vn(t)));
case Wa:
case Ha:
case Ya:
return Qn(+e, +t);
case za:
return e.name == t.name && e.message == t.message;
case Qa:
case Ja:
return e == t + "";
case qa:
var o = Ca;
case Ka:
var u = r & ja;
if (o || (o = $a), e.size != t.size && !u)
return !1;
var p = a.get(e);
if (p)
return p == t;
r |= Xa, a.set(e, t);
var h = cr(o(e), o(t), r, s, i, a);
return a.delete(e), h;
case Za:
if (wt)
return wt.call(e) == wt.call(t);
}
return !1;
}
var ro = 1, so = Object.prototype, io = so.hasOwnProperty;
function ao(e, t, n, r, s, i) {
var a = n & ro, o = mn(e), u = o.length, p = mn(t), h = p.length;
if (u != h && !a)
return !1;
for (var d = u; d--; ) {
var E = o[d];
if (!(a ? E in t : io.call(t, E)))
return !1;
}
var b = i.get(e), A = i.get(t);
if (b && A)
return b == t && A == e;
var I = !0;
i.set(e, t), i.set(t, e);
for (var v = a; ++d < u; ) {
E = o[d];
var W = e[E], y = t[E];
if (r)
var we = a ? r(y, W, E, t, e, i) : r(W, y, E, e, t, i);
if (!(we === void 0 ? W === y || s(W, y, n, r, i) : we)) {
I = !1;
break;
}
v || (v = E == "constructor");
}
if (I && !v) {
var Q = e.constructor, R = t.constructor;
Q != R && "constructor" in e && "constructor" in t && !(typeof Q == "function" && Q instanceof Q && typeof R == "function" && R instanceof R) && (I = !1);
}
return i.delete(e), i.delete(t), I;
}
var oo = 1, wn = "[object Arguments]", Pn = "[object Array]", nt = "[object Object]", lo = Object.prototype, Sn = lo.hasOwnProperty;
function co(e, t, n, r, s, i) {
var a = ce(e), o = ce(t), u = a ? Pn : ve(e), p = o ? Pn : ve(t);
u = u == wn ? nt : u, p = p == wn ? nt : p;
var h = u == nt, d = p == nt, E = u == p;
if (E && St(e)) {
if (!St(t))
return !1;
a = !0, h = !1;
}
if (E && !h)
return i || (i = new Ne()), a || nr(e) ? cr(e, t, n, r, s, i) : no(e, t, u, n, r, s, i);
if (!(n & oo)) {
var b = h && Sn.call(e, "__wrapped__"), A = d && Sn.call(t, "__wrapped__");
if (b || A) {
var I = b ? e.value() : e, v = A ? t.value() : t;
return i || (i = new Ne()), s(I, v, n, r, i);
}
}
return E ? (i || (i = new Ne()), ao(e, t, n, r, s, i)) : !1;
}
function $t(e, t, n, r, s) {
return e === t ? !0 : e == null || t == null || !Se(e) && !Se(t) ? e !== e && t !== t : co(e, t, n, r, $t, s);
}
var uo = 1, ho = 2;
function fo(e, t, n, r) {
var s = n.length, i = s;
if (e == null)
return !i;
for (e = Object(e); s--; ) {
var a = n[s];
if (a[2] ? a[1] !== e[a[0]] : !(a[0] in e))
return !1;
}
for (; ++s < i; ) {
a = n[s];
var o = a[0], u = e[o], p = a[1];
if (a[2]) {
if (u === void 0 && !(o in e))
return !1;
} else {
var h = new Ne(), d;
if (!(d === void 0 ? $t(p, u, uo | ho, r, h) : d))
return !1;
}
}
return !0;
}
function ur(e) {
return e === e && !Ve(e);
}
function po(e) {
for (var t = Gt(e), n = t.length; n--; ) {
var r = t[n], s = e[r];
t[n] = [r, s, ur(s)];
}
return t;
}
function hr(e, t) {
return function(n) {
return n == null ? !1 : n[e] === t && (t !== void 0 || e in Object(n));
};
}
function Eo(e) {
var t = po(e);
return t.length == 1 && t[0][2] ? hr(t[0][0], t[0][1]) : function(n) {
return n === e || fo(n, e, t);
};
}
function No(e, t) {
return e != null && t in Object(e);
}
function To(e, t, n) {
t = sr(t, e);
for (var r = -1, s = t.length, i = !1; ++r < s; ) {
var a = bt(t[r]);
if (!(i = e != null && n(e, a)))
break;
e = e[a];
}
return i || ++r != s ? i : (s = e == null ? 0 : e.length, !!s && Ft(s) && Yn(a, s) && (ce(e) || Bt(e)));
}
function bo(e, t) {
return e != null && To(e, t, No);
}
var mo = 1, Io = 2;
function go(e, t) {
return Vt(e) && ur(t) ? hr(bt(e), t) : function(n) {
var r = ar(n, e);
return r === void 0 && r === t ? bo(n, e) : $t(t, r, mo | Io);
};
}
function fr(e) {
return function(t) {
return t == null ? void 0 : t[e];
};
}
function _o(e) {
return function(t) {
return ir(t, e);
};
}
function Ao(e) {
return Vt(e) ? fr(bt(e)) : _o(e);
}
function pr(e) {
return typeof e == "function" ? e : e == null ? dt : typeof e == "object" ? ce(e) ? go(e[0], e[1]) : Eo(e) : Ao(e);
}
function Lo(e, t, n, r) {
for (var s = -1, i = e == null ? 0 : e.length; ++s < i; ) {
var a = e[s];
t(r, a, n(a), e);
}
return r;
}
function vo(e) {
return function(t, n, r) {
for (var s = -1, i = Object(t), a = r(t), o = a.length; o--; ) {
var u = a[++s];
if (n(i[u], u, i) === !1)
break;
}
return t;
};
}
var dr = vo();
function yo(e, t) {
return e && dr(e, t, Gt);
}
function wo(e, t) {
return function(n, r) {
if (n == null)
return n;
if (!Et(n))
return e(n, r);
for (var s = n.length, i = -1, a = Object(n); ++i < s && r(a[i], i, a) !== !1; )
;
return n;
};
}
var Po = wo(yo);
function So(e, t, n, r) {
return Po(e, function(s, i, a) {
t(r, s, n(s), a);
}), r;
}
function Oo(e, t) {
return function(n, r) {
var s = ce(n) ? Lo : So, i = t ? t() : {};
return s(n, e, pr(r), i);
};
}
function xo(e) {
return Se(e) && Et(e);
}
function F(e) {
var t = e == null ? 0 : e.length;
return t ? e[t - 1] : void 0;
}
function Do(e) {
return typeof e == "function" ? e : dt;
}
var Ro = Math.max, ko = Math.min;
function Uo(e, t, n) {
var r = e == null ? 0 : e.length;
if (!r)
return -1;
var s = r - 1;
return n !== void 0 && (s = ps(n), s = n < 0 ? Ro(r + s, 0) : ko(s, r - 1)), Bs(e, pr(t), s);
}
function Mo(e) {
return e && e.length ? e[0] : void 0;
}
function Ke(e, t) {
return e == null ? e : dr(e, Do(t), Ui);
}
var he = Oo(function(e, t, n) {
e[n ? 0 : 1].push(t);
}, function() {
return [[], []];
}), Fo = Math.max;
function Bo(e) {
if (!(e && e.length))
return [];
var t = 0;
return e = lr(e, function(n) {
if (xo(n))
return t = Fo(n.length, t), !0;
}), Jn(t, function(n) {
return Hn(e, fr(n));
});
}
var Rt = $s(Bo), f = /* @__PURE__ */ ((e) => (e.SPACE = "<space>", e.TAB = "<tab>", e.NEWLINE = "<newline>", e.COMMA = "<comma>", e.LPAREN = "<lparen>", e.RPAREN = "<rparen>", e.LBRACE = "<lbrace>", e.RBRACE = "<rbrace>", e.LBRACKET = "<lbracket>", e.RBRACKET = "<rbracket>", e.LANGLE = "<langle>", e.RANGLE = "<rangle>", e.OP = "<op>", e.EOF = "<eof>", e.NUMERIC_LITERAL = "<number>", e.STRING_LITERAL = "<string>", e.COLOR_LITERAL = "<color>", e.FUNCTION_EXPRESSION = "<function-expression>", e.QUOTED_STRING = "<variable>", e.IDENTIFIER = "<identifier>", e.SEMICOLON = "<semicolon>", e.COLON = "<colon>", e.TILDE = "<tilde>", e.SINGLE_LINE_COMMENT = "<single-line-comment>", e.MULTILINE_COMMENT = "<multiline-comment>", e))(f || {});
function Go(e) {
switch (e.kind) {
case "<newline>":
case "<space>":
case "<tab>":
case "<single-line-comment>":
case "<multiline-comment>":
return !0;
default:
return !1;
}
}
function Vo(e) {
if (!e)
return !1;
switch (e) {
case "+":
case "-":
case "*":
case "/":
case "%":
case "<":
case ">":
case "=":
case "!":
case ".":
case "&":
case "|":
return !0;
default:
return !1;
}
}
function On(e) {
return e !== void 0 && e.kind === "<op>";
}
class Z {
constructor(t, n, r, s, i) {
this.kind = t, this.startPos = n, this.endPos = r, this.value = s, this.leadingTrivia = [], this.trailingTrivia = [], this.leadingInvalid = [], this.trailingInvalid = [], this.isInvalid = i, this.start = n.offset, this.end = r.offset;
}
static create(t, n, r, s, i) {
return new Z(t, n, r, s, i);
}
}
function Er(e) {
return e.trailingTrivia.find(({ kind: t }) => t === f.NEWLINE) !== void 0;
}
function xn(e, t) {
return t.leadingTrivia.find(({ kind: r }) => r === f.NEWLINE) !== void 0 || Er(e);
}
function kt(e) {
return e.trailingTrivia.find(({ kind: t }) => [f.SPACE, f.TAB].includes(t)) !== void 0;
}
function Nr(e) {
return e.trailingTrivia.length === 0 ? e.end : Nr(F(e.trailingTrivia));
}
function Tr(e) {
return e.leadingTrivia.length === 0 ? e.start : Tr(e.leadingTrivia[0]);
}
function Co(e) {
return [f.SINGLE_LINE_COMMENT, f.MULTILINE_COMMENT].includes(
e.kind
);
}
class $o {
constructor() {
this.id = 0;
}
reset() {
this.id = 0;
}
nextId() {
return this.id++;
}
}
class D {
// The symbol that this syntax node refers to
// args must be passed in order of appearance in the node
constructor(t, n, r) {
this.id = t, this.kind = n;
const s = r.find((a) => a !== void 0 && !Number.isNaN(a.start));
s ? (this.startPos = s.startPos, this.fullStart = s instanceof Z ? Tr(s) : s.fullStart) : (this.startPos = {
offset: NaN,
column: NaN,
line: NaN
}, this.fullStart = NaN);
const i = [...r].reverse().find((a) => a !== void 0 && !Number.isNaN(a.end));
i ? (this.endPos = i.endPos, this.fullEnd = i instanceof Z ? Nr(i) : i.fullEnd) : (this.endPos = {
offset: NaN,
column: NaN,
line: NaN
}, this.fullEnd = NaN), this.start = this.startPos.offset, this.end = this.endPos.offset;
}
}
var Pe = /* @__PURE__ */ ((e) => (e.PROGRAM = "<program>", e.ELEMENT_DECLARATION = "<element-declaration>", e.ATTRIBUTE = "<attribute>", e.IDENTIFIER_STREAM = "<identifer-stream>", e.LITERAL = "<literal>", e.VARIABLE = "<variable>", e.PREFIX_EXPRESSION = "<prefix-expression>", e.INFIX_EXPRESSION = "<infix-expression>", e.POSTFIX_EXPRESSION = "<postfix-expression>", e.FUNCTION_EXPRESSION = "<function-expression>", e.FUNCTION_APPLICATION = "<function-application>", e.BLOCK_EXPRESSION = "<block-expression>", e.LIST_EXPRESSION = "<list-expression>", e.TUPLE_EXPRESSION = "<tuple-expression>", e.CALL_EXPRESSION = "<call-expression>", e.PRIMARY_EXPRESSION = "<primary-expression>", e.GROUP_EXPRESSION = "<group-expression>", e.DUMMY = "<dummy>", e.ARRAY = "<array>", e.PARTIAL_INJECTION = "<partial-injection>", e))(Pe || {});
class te extends D {
constructor({ body: t = [], eof: n }, r) {
super(r, "<program>", [...t, n]), this.body = t, this.eof = n;
}
}
class P extends D {
constructor({
type: t,
name: n,
as: r,
alias: s,
attributeList: i,
bodyColon: a,
body: o
}, u) {
if (super(u, "<element-declaration>", [
t,
n,
r,
s,
i,
a,
o
]), o && a && !(o instanceof w || o instanceof P))
throw new Error("If an element has a simple body, it must be a function application node");
this.type = t, this.name = n, this.as = r, this.alias = s, this.attributeList = i, this.bodyColon = a, this.body = o;
}
}
class ie extends D {
constructor({ identifiers: t = [] }, n) {
super(n, "<identifer-stream>", t || []), this.identifiers = t;
}
}
class ae extends D {
constructor({
name: t,
colon: n,
value: r
}, s) {
super(s, "<attribute>", [t, n, r]), this.name = t, this.value = r, this.colon = n;
}
}
class ne extends D {
constructor({ op: t, expression: n }, r) {
super(r, "<prefix-expression>", [t, n]), this.op = t, this.expression = n;
}
}
class de extends D {
constructor({
op: t,
leftExpression: n,
rightExpression: r
}, s) {
super(s, "<infix-expression>", [n, t, r]), this.op = t, this.leftExpression = n, this.rightExpression = r;
}
}
class mt extends D {
constructor({ op: t, expression: n }, r) {
super(r, "<postfix-expression>", [n, t]), this.op = t, this.expression = n;
}
}
class Te extends D {
constructor({ value: t }, n) {
super(n, "<function-expression>", [t]), this.value = t;
}
}
class w extends D {
constructor({ callee: t, args: n = [] }, r) {
super(r, "<function-application>", [t, ...n]), this.callee = t, this.args = n;
}
}
class fe extends D {
constructor({
blockOpenBrace: t,
body: n = [],
blockCloseBrace: r
}, s) {
super(s, "<block-expression>", [t, ...n, r]), this.blockOpenBrace = t, this.body = n, this.blockCloseBrace = r;
}
}
class xe extends D {
constructor({ op: t, partial: n }, r) {
super(r, "<partial-injection>", [t, n]), this.partial = n;
}
}
class B extends D {
constructor({
listOpenBracket: t,
elementList: n = [],
commaList: r = [],
listCloseBracket: s
}, i) {
super(i, "<list-expression>", [
t,
...br(n, r),
s
]), this.listOpenBracket = t, this.elementList = n, this.commaList = r, this.listCloseBracket = s;
}
}
class Ee extends D {
constructor({
tupleOpenParen: t,
elementList: n = [],
commaList: r = [],
tupleCloseParen: s
}, i) {
super(i, "<tuple-expression>", [
t,
...br(n, r),
s
]), this.tupleOpenParen = t, this.elementList = n, this.commaList = r, this.tupleCloseParen = s;
}
}
class jt extends Ee {
constructor({
groupOpenParen: t,
expression: n,
groupCloseParen: r
}, s) {
super(
{
tupleOpenParen: t,
elementList: n && [n],
commaList: [],
tupleCloseParen: r
},
s
), this.kind = "<group-expression>";
}
}
class re extends D {
constructor({
callee: t,
argumentList: n
}, r) {
super(r, "<call-expression>", [t, n]), this.callee = t, this.argumentList = n;
}
}
class je extends D {
constructor({ literal: t }, n) {
super(n, "<literal>", [t]), this.literal = t;
}
}
class ue extends D {
constructor({ variable: t }, n) {
super(n, "<variable>", [t]), this.variable = t;
}
}
class H extends D {
constructor({ expression: t }, n) {
super(n, "<primary-expression>", [t]), this.expression = t;
}
}
class rt extends D {
constructor({ pre: t }, n) {
const r = Z.create(f.SPACE, t.endPos, t.endPos, " ", !1);
super(n, "<dummy>", [r]);
}
}
class De extends D {
constructor({ expression: t, indexer: n }, r) {
super(r, "<array>", [t, n]), this.array = t, this.indexer = n;
}
}
function br(e, t) {
if (!e || e.length === 0)
return t || [];
if (!t || t.length === 0)
return e || [];
const [n] = e, [r] = t;
return (n.start < r.start ? Tn(Rt(e, t)) : Tn(Rt(t, e))).filter(
(s) => s !== null
);
}
function sc(e, t = !1) {
return JSON.stringify(
e,
function(n, r) {
var s;
return !(this instanceof te) && n === "symbol" ? r == null ? void 0 : r.id : (
/* this instanceof SyntaxNode && */
n === "symbol" ? {
symbolTable: r == null ? void 0 : r.symbolTable,
id: r == null ? void 0 : r.id,
references: r == null ? void 0 : r.references.map((i) => i.id),
declaration: (s = r == null ? void 0 : r.declaration) == null ? void 0 : s.id
} : (
/* this instanceof SyntaxNode && */
n === "referee" || /* this instanceof SyntaxNode && */
n === "parent" || /* this instanceof NodeSymbol && */
n === "declaration" ? r == null ? void 0 : r.id : (
/* this instanceof NodeSymbol && */
n === "symbolTable" ? Object.fromEntries(r.table) : r
)
)
);
},
t ? 2 : 0
);
}
class M {
constructor(t) {
this.value = t;
}
unwrap() {
return this.value;
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
unwrap_or(t) {
return this.value;
}
and_then(t) {
return t(this.value);
}
map(t) {
return new M(t(this.value));
}
isOk() {
return !0;
}
}
class x {
constructor() {
this.value = void 0;
}
unwrap() {
throw new Error("Trying to unwrap a None value");
}
unwrap_or(t) {
return t;
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
and_then(t) {
return new x();
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
map(t) {
return new x();
}
// eslint-disable-next-line class-methods-use-this
isOk() {
return !1;
}
}
var m = /* @__PURE__ */ ((e) => (e.Schema = "Schema", e.Table = "Table", e.Column = "Column", e.TableGroup = "TableGroup", e.TableGroupField = "TableGroup field", e.Enum = "Enum", e.EnumField = "Enum field", e.Note = "Note", e.TablePartial = "TablePartial", e.TablePartialInjection = "TablePartialInjection", e))(m || {});
function Xt(e) {
return `Schema:${e}`;
}
function ot(e) {
return `Table:${e}`;
}
function It(e) {
return `Column:${e}`;
}
function Wt(e) {
return `Enum:${e}`;
}
function Ht(e) {
return `Enum field:${e}`;
}
function zt(e) {
return `TableGroup:${e}`;
}
function qt(e) {
return `TableGroup field:${e}`;
}
function jo(e) {
return `Note:${e}`;
}
function Yt(e) {
return `TablePartial:${e}`;
}
function mr(e) {
return `TablePartialInjection:${e}`;
}
function st(e, t) {
switch (t) {
case "Column":
return It(e);
case "Enum":
return Wt(e);
case "Enum field":
return Ht(e);
case "Schema":
return Xt(e);
case "Table":
return ot(e);
case "TableGroup":
return zt(e);
case "TableGroup field":
return qt(e);
case "TablePartial":
return Yt(e);
default:
throw new Error("Unreachable");
}
}
function oe(e) {
const [t, n] = e.split(":");
return Object.values(m).includes(t) ? new M({
name: n,
kind: t
}) : new x();
}
function Xo(e) {
const t = oe(e).unwrap_or(void 0);
if (!t)
return !1;
const { kind: n, name: r } = t;
return n === "Schema" && r === "public";
}
function Wo(e) {
const t = oe(e).unwrap_or(void 0);
if (!t) return !1;
const { kind: n } = t;
return n === "TablePartialInjection";
}
function Ho(e) {
const t = oe(e).unwrap_or(void 0);
if (!t) return null;
const { kind: n, name: r } = t;
return n === "TablePartialInjection" ? st(
r,
"TablePartial"
/* TablePartial */
) : null;
}
class zo {
constructor() {
this.id = 0;
}
reset() {
this.id = 0;
}
nextId() {
return this.id++;
}
}
class Ir {
constructor({ symbolTable: t }, n) {
this.references = [], this.id = n, this.symbolTable = t;
}
}
class qo {
constructor({ symbolTable: t, declaration: n }, r) {
this.references = [], this.id = r, this.symbolTable = t, this.declaration = n;
}
}
class Yo {
constructor({ declaration: t }, n) {
this.references = [], this.id = n, this.declaration = t;
}
}
class gr {
constructor({ symbolTable: t, declaration: n }, r) {
this.references = [], this.id = r, this.symbolTable = t, this.declaration = n;
}
}
class Qt {
constructor({ declaration: t }, n) {
this.references = [], this.id = n, this.declaration = t;
}
}
class Qo {
constructor({ symbolTable: t, declaration: n }, r) {
this.references = [], this.id = r, this.symbolTable = t, this.declaration = n;
}
}
class Ko {
constructor({ declaration: t }, n) {
this.references = [], this.id = n, this.declaration = t;
}
}
class Jo {
constructor({ symbolTable: t, declaration: n }, r) {
this.references = [], this.id = r, this.symbolTable = t, this.declaration = n;
}
}
class Zo {
constructor({ declaration: t }, n) {
this.references = [], this.id = n, this.declaration = t;
}
}
class el {
constructor({ injectorFieldSymbol: t, injectorDeclaration: n }, r) {
this.references = [], this.id = r, this.injectorDeclaration = n, this.injectorFieldSymbol = t;
}
}
function tl(e) {
return [
Xt,
ot,
Wt,
zt,
It,
Ht,
qt,
Yt,
mr
].map((t) => t(e));
}
function nl(e) {
return e instanceof Qt ? el : null;
}
function gt(e) {
return !!e.match(new RegExp("(\\p{L}|_|\\p{M})", "gu"));
}
function lt(e) {
const [t] = e;
return t >= "0" && t <= "9";
}
function rl(e) {
const [t] = e;
return lt(t) || gt(t) && t.toLowerCase() >= "a" && t.toLowerCase() <= "f";
}
function Ge(e) {
return gt(e) || lt(e);
}
function Dn(e, t) {
const n = [], r = Math.min(e.length, t.length);
for (let s = 0; s < r; s += 1)
n.push(e[s], t[s]);
return n.push(...e.slice(r), ...t.slice(r)), n;
}
function qe(e, t) {
return e >= t.start && e < t.end;
}
function _r(e) {
var t;
return e instanceof ne ? `${(t = e.op) == null ? void 0 : t.value}${_r(e.expression)}` : e.expression.literal.value;
}
function Ut(e) {
var t;
return e instanceof ne ? ((t = e.op) == null ? void 0 : t.value) === "-" ? -Ut(e.expression) : Ut(e.expression) : Number.parseFloat(e.expression.literal.value);
}
var l = /* @__PURE__ */ ((e) => (e[e.UNKNOWN_SYMBOL = 1e3] = "UNKNOWN_SYMBOL", e[e.UNEXPECTED_SYMBOL = 1001] = "UNEXPECTED_SYMBOL", e[e.UNEXPECTED_EOF = 1002] = "UNEXPECTED_EOF", e[e.UNEXPECTED_NEWLINE = 1003] = "UNEXPECTED_NEWLINE", e[e.UNKNOWN_TOKEN = 1004] = "UNKNOWN_TOKEN", e[e.UNEXPECTED_TOKEN = 1005] = "UNEXPECTED_TOKEN", e[e.UNEXPECTED_ELEMENT_DECLARATION = 1006] = "UNEXPECTED_ELEMENT_DECLARATION", e[e.MISSING_SPACES = 1007] = "MISSING_SPACES", e[e.UNKNOWN_PREFIX_OP = 1008] = "UNKNOWN_PREFIX_OP", e[e.INVALID_OPERAND = 1009] = "INVALID_OPERAND", e[e.EMPTY_ATTRIBUTE_NAME = 1010] = "EMPTY_ATTRIBUTE_NAME", e[e.INVALID_ESCAPE_SEQUENCE = 1011] = "INVALID_ESCAPE_SEQUENCE", e[e.INVALID_NAME = 3e3] = "INVALID_NAME", e[e.UNEXPECTED_NAME = 3001] = "UNEXPECTED_NAME", e[e.NAME_NOT_FOUND = 3002] = "NAME_NOT_FOUND", e[e.DUPLICATE_NAME = 3003] = "DUPLICATE_NAME", e[e.INVALID_ALIAS = 3004] = "INVALID_ALIAS", e[e.UNEXPECTED_ALIAS = 3005] = "UNEXPECTED_ALIAS", e[e.UNEXPECTED_SETTINGS = 3006] = "UNEXPECTED_SETTINGS", e[e.INVALID_SETTINGS = 3007] = "INVALID_SETTINGS", e[e.UNEXPECTED_SIMPLE_BODY = 3008] = "UNEXPECTED_SIMPLE_BODY", e[e.UNEXPECTED_COMPLEX_BODY = 3009] = "UNEXPECTED_COMPLEX_BODY", e[e.INVALID_TABLE_CONTEXT = 3010] = "INVALID_TABLE_CONTEXT", e[e.INVALID_TABLE_SETTING = 3011] = "INVALID_TABLE_SETTING", e[e.DUPLICATE_TABLE_SETTING = 3012] = "DUPLICATE_TABLE_SETTING", e[e.INVALID_TABLEGROUP_CONTEXT = 3013] = "INVALID_TABLEGROUP_CONTEXT", e[e.INVALID_TABLEGROUP_ELEMENT_NAME = 3014] = "INVALID_TABLEGROUP_ELEMENT_NAME", e[e.DUPLICATE_TABLEGROUP_ELEMENT_NAME = 3015] = "DUPLICATE_TABLEGROUP_ELEMENT_NAME", e[e.DUPLICATE_TABLEGROUP_FIELD_NAME = 3016] = "DUPLICATE_TABLEGROUP_FIELD_NAME", e[e.INVALID_TABLEGROUP_FIELD = 3017] = "INVALID_TABLEGROUP_FIELD", e[e.EMPTY_TABLE = 3018] = "EMPTY_TABLE", e[e.INVALID_COLUMN = 3019] = "INVALID_COLUMN", e[e.INVALID_COLUMN_NAME = 3020] = "INVALID_COLUMN_NAME", e[e.UNKNOWN_COLUMN_SETTING = 3021] = "UNKNOWN_COLUMN_SETTING", e[e.INVALID_COLUMN_TYPE = 3022] = "INVALID_COLUMN_TYPE", e[e.DUPLICATE_COLUMN_NAME = 3023] = "DUPLICATE_COLUMN_NAME", e[e.DUPLICATE_COLUMN_SETTING = 3024] = "DUPLICATE_COLUMN_SETTING", e[e.INVALID_COLUMN_SETTING_VALUE = 3025] = "INVALID_COLUMN_SETTING_VALUE", e[e.INVALID_ENUM_CONTEXT = 3026] = "INVALID_ENUM_CONTEXT", e[e.INVALID_ENUM_ELEMENT_NAME = 3027] = "INVALID_ENUM_ELEMENT_NAME", e[e.INVALID_ENUM_ELEMENT = 3028] = "INVALID_ENUM_ELEMENT", e[e.DUPLICATE_ENUM_ELEMENT_NAME = 3029] = "DUPLICATE_ENUM_ELEMENT_NAME", e[e.UNKNOWN_ENUM_ELEMENT_SETTING = 3030] = "UNKNOWN_ENUM_ELEMENT_SETTING", e[e.DUPLICATE_ENUM_ELEMENT_SETTING = 3031] = "DUPLICATE_ENUM_ELEMENT_SETTING", e[e.INVALID_ENUM_ELEMENT_SETTING = 3032] = "INVALID_ENUM_ELEMENT_SETTING", e[e.EMPTY_ENUM = 3033] = "EMPTY_ENUM", e[e.INVALID_REF_CONTEXT = 3034] = "INVALID_REF_CONTEXT", e[e.UNKNOWN_REF_SETTING = 3035] = "UNKNOWN_REF_SETTING", e[e.DUPLICATE_REF_SETTING = 3036] = "DUPLICATE_REF_SETTING", e[e.INVALID_REF_SETTING_VALUE = 3037] = "INVALID_REF_SETTING_VALUE", e[e.INVALID_REF_RELATIONSHIP = 3038] = "INVALID_REF_RELATIONSHIP", e[e.INVALID_REF_FIELD = 3039] = "INVALID_REF_FIELD", e[e.EMPTY_REF = 3040] = "EMPTY_REF", e[e.REF_REDEFINED = 3041] = "REF_REDEFINED", e[e.INVALID_NOTE_CONTEXT = 3042] = "INVALID_NOTE_CONTEXT", e[e.INVALID_NOTE = 3043] = "INVALID_NOTE", e[e.NOTE_REDEFINED = 3044] = "NOTE_REDEFINED", e[e.NOTE_CONTENT_REDEFINED = 3045] = "NOTE_CONTENT_REDEFINED", e[e.EMPTY_NOTE = 3046] = "EMPTY_NOTE", e[e.INVALID_INDEXES_CONTEXT = 3047] = "INVALID_INDEXES_CONTEXT", e[e.INVALID_INDEXES_FIELD = 3048] = "INVALID_INDEXES_FIELD", e[e.INVALID_INDEX = 3049] = "INVALID_INDEX", e[e.UNKNOWN_INDEX_SETTING = 3050] = "UNKNOWN_INDEX_SETTING", e[e.DUPLICATE_INDEX_SETTING = 3051] = "DUPLICATE_INDEX_SETTING", e[e.UNEXPECTED_INDEX_SETTING_VALUE = 3052] = "UNEXPECTED_INDEX_SETTING_VALUE", e[e.INVALID_INDEX_SETTING_VALUE = 3053] = "INVALID_INDEX_SETTING_VALUE", e[e.INVALID_PROJECT_CONTEXT = 3054] = "INVALID_PROJECT_CONTEXT", e[e.PROJECT_REDEFINED = 3055] = "PROJECT_REDEFINED", e[e.INVALID_PROJECT_FIELD = 3056] = "INVALID_PROJECT_FIELD", e[e.INVALID_CUSTOM_CONTEXT = 3057] = "INVALID_CUSTOM_CONTEXT", e[e.INVALID_CUSTOM_ELEMENT_VALUE = 3058] = "INVALID_CUSTOM_ELEMENT_VALUE", e[e.INVALID_ELEMENT_IN_SIMPLE_BODY = 3059] = "INVALID_ELEMENT_IN_SIMPLE_BODY", e[e.INVALID_TABLE_PARTIAL_CONTEXT = 3060] = "INVALID_TABLE_PARTIAL_CONTEXT", e[e.INVALID_TABLE_PARTIAL_ELEMENT_NAME = 3061] = "INVALID_TABLE_PARTIAL_ELEMENT_NAME", e[e.INVALID_TABLE_PARTIAL_SETTING = 3062] = "INVALID_TABLE_PARTIAL_SETTING", e[e.DUPLICATE_TABLE_PARTIAL_ELEMENT_NAME = 3063] = "DUPLICATE_TABLE_PARTIAL_ELEMENT_NAME", e[e.DUPLICATE_TABLE_PARTIAL_SETTING = 3064] = "DUPLICATE_TABLE_PARTIAL_SETTING", e[e.INVALID_TABLE_PARTIAL_INJECTION = 3065] = "INVALID_TABLE_PARTIAL_INJECTION", e[e.INVALID_TABLE_PARTIAL_INJECTION_OP = 3066] = "INVALID_TABLE_PARTIAL_INJECTION_OP", e[e.INVALID_TABLE_PARTIAL_INJECTION_NAME = 3067] = "INVALID_TABLE_PARTIAL_INJECTION_NAME", e[e.DUPLICATE_TABLE_PARTIAL_INJECTION_NAME = 3068] = "DUPLICATE_TABLE_PARTIAL_INJECTION_NAME", e[e.BINDING_ERROR = 4e3] = "BINDING_ERROR", e[e.UNSUPPORTED = 5e3] = "UNSUPPORTED", e[e.CIRCULAR_REF = 5001] = "CIRCULAR_REF", e[e.SAME_ENDPOINT = 5002] = "SAME_ENDPOINT", e[e.UNEQUAL_FIELDS_BINARY_REF = 5003] = "UNEQUAL_FIELDS_BINARY_REF", e[e.CONFLICTING_SETTING = 5004] = "CONFLICTING_SETTING", e[e.TABLE_REAPPEAR_IN_TABLEGROUP = 5005] = "TABLE_REAPPEAR_IN_TABLEGROUP", e))(l || {});
class c extends Error {
constructor(t, n, r) {
super(n), this.code = t, this.diagnostic = n, this.nodeOrToken = r, this.start = r.start, this.end = r.end, this.name = this.constructor.name, Object.setPrototypeOf(this, c.prototype);
}
}
class ee {
constructor(t, n) {
this.value = t, this.errors = n === void 0 ? [] : n;
}
getValue() {
return this.value;
}
getErrors() {
return this.errors;
}
chain(t) {
const n = t(this.value), r = [...this.errors, ...n.errors];
return new ee(n.value, r);
}
map(t) {
return new ee(t(this.value), this.errors);
}
}
function sl(e, t, n) {
if (!e || !ye(e) || t.length === 0)
return new x();
const r = [...t], s = Rn(e).unwrap(), i = r.pop();
if (!(i instanceof fe))
return new x();
const a = F(r) instanceof B ? r.pop() : void 0;
if (r.length === 3) {
const o = Rn(r[1]).value;
return !o || !Mt(o) ? new x() : new M(
n.create(P, {
type: s,
name: r[0],
as: o,
alias: r[2],
attributeList: a,
body: i
})
);
}
return r.length === 1 ? new M(
n.create(P, {
type: s,
name: r[0],
attributeList: a,
body: i
})
) : r.length === 0 ? new M(
n.create(P, {
type: s,
attributeList: a,
body: i
})
) : new x();
}
function Mt(e) {
return e.kind === f.IDENTIFIER && e.value === "as";
}
function g(e) {
e && (e instanceof Z ? il(e) : al(e));
}
function il(e) {
e.kind !== f.EOF && (e.isInvalid = !0);
}
function al(e) {
if (e instanceof P)
g(e.type), g(e.name), g(e.as), g(e.alias), g(e.bodyColon), g(e.attributeList), g(e.body);
else if (e instanceof ie)
e.identifiers.forEach(g);
else if (e instanceof ae)
g(e.name), g(e.colon), g(e.value);
else if (e instanceof ne)
g(e.op), g(e.expression);
else if (e instanceof de)
g(e.leftExpression), g(e.op), g(e.rightExpression);
else if (e instanceof mt)
g(e.op), g(e.expression);
else if (e instanceof fe)
g(e.blockOpenBrace), e.body.forEach(g), g(e.blockCloseBrace);
else if (e instanceof B)
g(e.listOpenBracket), e.commaList.forEach(g), e.elementList.forEach(g), g(e.listCloseBracket);
else if (e instanceof Ee)
g(e.tupleOpenParen), e.commaList.forEach(g), e.elementList.forEach(g), g(e.tupleCloseParen);
else if (e instanceof re)
g(e.callee), g(e.argumentList);
else if (e instanceof w)
g(e.callee), e.args.forEach(g);
else if (e instanceof H)
g(e.expression);
else if (e instanceof Te)
g(e.value);
else if (e instanceof ue)
g(e.variable);
else if (e instanceof je)
g(e.literal);
else throw e instanceof jt ? new Error("This case is handled by the TupleExpressionNode case") : new Error("Unreachable case in markInvalidNode");
}
function Ar(e) {
return !!(e != null && e.isInvalid);
}
function $(...e) {
return e.filter((t) => t !== void 0);
}
function ol(e) {
if (e instanceof te)
return $(...e.body, e.eof);
if (e instanceof P)
return $(
e.type,
e.name,
e.as,
e.alias,
e.attributeList,
e.bodyColon,
e.body
);
if (e instanceof ae)
return $(e.name, e.colon, e.value);
if (e instanceof ie)
return e.identifiers;
if (e instanceof je)
return e.literal ? [e.literal] : [];
if (e instanceof ue)
return $(e.variable);
if (e instanceof ne)
return $(e.op, e.expression);
if (e instanceof de)
return $(e.leftExpression, e.op, e.rightExpression);
if (e instanceof mt)
return $(e.expression, e.op);
if (e instanceof Te)
return $(e.value);
if (e instanceof w)
return $(e.callee, ...e.args);
if (e instanceof fe)
return $(e.blockOpenBrace, ...e.body, e.blockCloseBrace);
if (e instanceof B)
return $(
e.listOpenBracket,
...Dn(e.elementList, e.commaList),
e.listCloseBracket
);
if (e instanceof Ee)
return $(
e.tupleOpenParen,
...Dn(e.elementList, e.commaList),
e.tupleCloseParen
);
if (e instanceof re)
return $(e.callee, e.argumentList);
if (e instanceof H)
return $(e.expression);
if (e instanceof De)
return $(
e.array,
e.indexer
);
if (e instanceof xe) return $(e.partial);
throw e instanceof jt ? new Error("This case is already handled by TupleExpressionNode") : new Error("Unreachable - no other possible cases");
}
function Rn(e) {
return X(e) ? new M(e.expression.variable) : new x();
}
function q(e) {
var t;
return e instanceof H && (e.expression instanceof ue && e.expression.variable instanceof Z && e.expression.variable.kind === f.QUOTED_STRING || e.expression instanceof je && ((t = e.expression.literal) == null ? void 0 : t.kind) === f.STRING_LITERAL);
}
function X(e) {
return e instanceof H && e.expression instanceof ue && e.expression.variable instanceof Z;
}
function ye(e) {
var t;
return e instanceof H && e.expression instanceof ue && ((t = e.expression.variable) == null ? void 0 : t.kind) === f.IDENTIFIER;
}
function Kt(e) {
var t;
return e instanceof de && e.leftExpression instanceof D && e.rightExpression instanceof D && ((t = e.op) == null ? void 0 : t.value) === ".";
}
function Ce(e) {
if (e === void 0)
return new x();
const t = e.identifiers.map((n) => n.value).join(" ");
return t === "" ? new x() : new M(t);
}
class ll {
// list of errors during lexing
constructor(t) {
this.start = {
offset: 0,
line: 0,
column: 0
}, this.current = {
offset: 0,
line: 0,
column: 0
}, this.tokens = [], this.errors