UNPKG

@dbml/parse

Version:
1,632 lines 195 kB
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