UNPKG

lakutata

Version:

An IoC-based universal application framework.

874 lines (845 loc) 28.4 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const e = require("../../../../vendor/Package.5.cjs"); var t = { exports: {} }; var r = { exports: {} }; var n = r.exports; (function(e, t) { "use strict"; Object.defineProperty(t, "__esModule", { value: true }); t.Gex = void 0; class Gexer { constructor(e) { this.desc = ""; this.gexmap = {}; if (null != e) { let t = Array.isArray(e) ? e : [ e ]; t.forEach((e => { this.gexmap[e] = this.re(this.clean(e)); })); } } dodgy(e) { return null == e || Number.isNaN(e); } clean(e) { let t = "" + e; return this.dodgy(e) ? "" : t; } match(e) { e = "" + e; let t = false; let r = Object.keys(this.gexmap); for (let n = 0; n < r.length && !t; n++) { t = !!this.gexmap[r[n]].exec(e); } return t; } on(e) { if (null == e) { return null; } let t = typeof e; if ("string" === t || "number" === t || "boolean" === t || e instanceof Date || e instanceof RegExp) { return this.match(e) ? e : null; } else if (Array.isArray(e)) { let t = []; for (let r = 0; r < e.length; r++) { if (!this.dodgy(e[r]) && this.match(e[r])) { t.push(e[r]); } } return t; } else { let t = {}; for (let r in e) { if (Object.prototype.hasOwnProperty.call(e, r)) { if (this.match(r)) { t[r] = e[r]; } } } return t; } } esc(e) { let t = this.clean(e); t = t.replace(/\*/g, "**"); t = t.replace(/\?/g, "*?"); return t; } escregexp(e) { return e ? ("" + e).replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&") : ""; } re(e) { if ("" === e || e) { e = this.escregexp(e); e = e.replace(/\\\*/g, "[\\s\\S]*"); e = e.replace(/\\\?/g, "[\\s\\S]"); e = e.replace(/\[\\s\\S\]\*\[\\s\\S\]\*/g, "\\*"); e = e.replace(/\[\\s\\S\]\*\[\\s\\S\]/g, "\\?"); e = "^" + e + "$"; return new RegExp(e); } else { let e = Object.keys(this.gexmap); return 1 == e.length ? this.gexmap[e[0]] : { ...this.gexmap }; } } toString() { let e = this.desc; return "" != e ? e : this.desc = "Gex[" + Object.keys(this.gexmap) + "]"; } inspect() { return this.toString(); } } function r(e) { return new Gexer(e); } t.Gex = r; if ("undefined" !== "object") { e.exports = r; e.exports.Gex = r; } t.default = r; })(r, r.exports); var i = r.exports; const s = e.getDefaultExportFromCjs(i); var l = {}; "use strict"; var a = e.commonjsGlobal && e.commonjsGlobal.__classPrivateFieldGet || function(e, t, r, n) { if (r === "a" && !n) throw new TypeError("Private accessor was defined without a getter"); if (typeof t === "function" ? e !== t || !n : !t.has(e)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); return r === "m" ? n : r === "a" ? n.call(e) : n ? n.value : t.get(e); }; var f, o, u, h, c, p, v, g, d; Object.defineProperty(l, "__esModule", { value: true }); var m = l.IntervalMatcher = k = l.GexMatcher = void 0; const x = i; class GexMatcher { constructor() {} make(e, t) { if ("string" === typeof t && t.match(/[*?]/)) { let e = (0, x.Gex)(t); return { kind: "gex", match: t => null != e.on(t), fix: t, meta: {}, same(e) { return null != e && e.kind === this.kind && e.fix === this.fix; } }; } else return undefined; } scan(e, t) { let r = e.filter((e => "*" === e.fix)).length > 0; return { complete: r, sound: r, gaps: [], overs: [], why: "no-star" }; } } var k = l.GexMatcher = GexMatcher; const y = new RegExp([ "^/s*", "(=*[<>/(/[]?=*)?" + "/s*" + "([-+0-9a-fA-FeEoOxX]+(/.([0-9a-fA-FeEoOxX]+))?)" + "([/)/]]?)" + "(" + "/s*(,|&+|/|+|/./.)" + "/s*" + "(=*[<>]?=*)" + "/s*" + "([-+.0-9a-fA-FeEoOxX]+)" + "/s*" + "([/)/]]?)" + ")?" + "/s*$" ].join("").replace(/\//g, "\\")); class IntervalMatcher { constructor() { this.kind = "interval"; f.set(this, ((e, t) => function r(n) { return e(n) && t(n); })); o.set(this, ((e, t) => function r(n) { return e(n) || t(n); })); u.set(this, (e => function e(t) { return false; })); h.set(this, (e => function e(t) { return false; })); c.set(this, (e => function t(r) { return r > e; })); p.set(this, (e => function t(r) { return r >= e; })); v.set(this, (e => function t(r) { return r < e; })); g.set(this, (e => function t(r) { return r <= e; })); d.set(this, (e => function t(r) { return r === e; })); } make(e, t) { if ("string" === typeof t && t.match(/[=<>.[()\]]/)) { let e = t.match(y); let r = { jo: "and", o0: "err", n0: NaN, o1: "err", n1: NaN }; let n = e => false; if (null != e) { let i = IntervalMatcher.normop(e[1]) || IntervalMatcher.normop(e[5]); let s = IntervalMatcher.normop(e[8]) || IntervalMatcher.normop(e[10]); let l = "=" === i ? a(this, d, "f") : "<" === i ? a(this, v, "f") : ")" === i ? a(this, v, "f") : "<=" === i ? a(this, g, "f") : "]" === i ? a(this, g, "f") : ">" === i ? a(this, c, "f") : "(" === i ? a(this, c, "f") : ">=" === i ? a(this, p, "f") : "[" === i ? a(this, p, "f") : a(this, h, "f"); let m = Number(e[2]); let x = null == e[9] ? NaN : Number(e[9]); let k = e[7]; let y = null == k ? a(this, o, "f") : "&" === k.substring(0, 1) ? a(this, f, "f") : "," === k.substring(0, 1) ? a(this, f, "f") : a(this, o, "f"); if (".." === k) { y = a(this, f, "f"); l = a(this, h, "f") === l ? a(this, p, "f") : l; s = "" === s ? "<=" : s; } let N = null == s ? a(this, u, "f") : "=" === s ? a(this, d, "f") : "<" === s ? a(this, v, "f") : ")" === s ? a(this, v, "f") : "<=" === s ? a(this, g, "f") : "]" === s ? a(this, g, "f") : ">" === s ? a(this, c, "f") : ">=" === s ? a(this, p, "f") : a(this, h, "f"); if (m === x) { if ("=" === i && null != s) { x = NaN; N = a(this, u, "f"); if (s.includes("<")) { l = a(this, g, "f"); } else if (s.includes(">")) { l = a(this, p, "f"); } else if (s.includes("=")) { l = a(this, d, "f"); } else { l = a(this, h, "f"); } } else if ("=" === s && null != i) { x = NaN; N = a(this, u, "f"); if (i.includes("<")) { l = a(this, g, "f"); } else if (i.includes(">")) { l = a(this, p, "f"); } else { l = a(this, h, "f"); } } } if (a(this, h, "f") !== l) { if (a(this, u, "f") === N) { if (a(this, v, "f") === l || a(this, g, "f") === l) { N = l; x = m; l = a(this, p, "f"); m = Number.NEGATIVE_INFINITY; y = a(this, f, "f"); } else if (a(this, c, "f") === l || a(this, p, "f") === l) { N = a(this, g, "f"); x = Number.POSITIVE_INFINITY; y = a(this, f, "f"); } } } if (!isNaN(x) && x < m) { let e = N; let t = x; x = m; m = t; if (".." !== k) { N = l; l = e; } } let b = l(m); let M = N(x); let j = y(b, M); r = { jo: j.name, o0: b.name, n0: m, o1: M.name, n1: x }; n = e => { let t = false; let r = parseFloat(e); if (!isNaN(r)) { t = j(r); } return t; }; return { kind: "interval", fix: t, meta: r, match: n, same(e) { return null != e && e.kind === this.kind && e.meta.jo === this.meta.jo && e.meta.o0 === this.meta.o0 && e.meta.n0 === this.meta.n0 && e.meta.o1 === this.meta.o1 && e.meta.n1 === this.meta.n1; } }; } } } scan(e, t) { let r = { complete: false, sound: false, gaps: [], overs: [], lower: null, upper: null }; let n = Number.NEGATIVE_INFINITY; let i = Number.POSITIVE_INFINITY; let s = this.half_intervals(e); s.reduce(((e, t) => { let r = "eq" === t.o; let i = "lt" === t.o; let s = "lte" === t.o; let l = "gt" === t.o; let a = "gte" === t.o; let f = t.n; if (null == e.lower) { let i = { n: n, o: "gte" }; e.lower = i; e.upper = t; if (!(n == f && a)) { if (l || a) { e.gaps.push([ i, { n: f, o: l ? "lte" : "lt", m: 0 } ]); } else if (r) { e.gaps.push([ i, { n: f, o: "lte", m: 1 } ]); } } } else { let n = "eq" === e.upper.o; let o = "lt" === e.upper.o; let u = "lte" === e.upper.o; let h = "gt" === e.upper.o; let c = "hgte" === e.upper.o; let p = e.upper.n; let v = e.upper; if (f === p) { if (o && (a || r) || (u || n) && l) {} else if (n || o || u) { e.gaps.push([ { n: p, o: n || u ? "gt" : "gte", m: 2, d: { u: v, h: t } }, { n: f, o: r || a ? "lt" : "lte", m: 3 } ]); } else {} } else if (p < f) { if (i || s) {} else if (n || o || u) { e.gaps.push([ { n: p, o: n || u ? "gt" : "gte", m: 4 }, { n: f, o: r || a ? "lt" : "lte", m: 5 } ]); } } else { e.overs.push([ { n: f, o: r || a ? "gte" : "gt", m: 10 }, { n: p, o: n || u ? "lte" : "lt", m: 11 } ]); } e.upper = t; } return e; }), r); let l = 0 < s.length && s[s.length - 1]; if (l && i !== l.n && l.o !== "gt" && l.o !== "gte") { r.gaps.push([ { n: l.n, o: l.o === "eq" || l.o === "lte" ? "gt" : "gte", m: 6 }, { n: i, o: "lte", m: 7 } ]); } r.complete = 0 === r.gaps.length; r.sound = 0 === r.overs.length; return r; } half_intervals(e) { let t = []; for (let r of e) { t.push([ { n: r.meta.n0, o: r.meta.o0 }, { n: r.meta.n1, o: r.meta.o1 } ]); } var r = [ "lt", "lte", "eq", "gte", "gt" ]; var n = t.map((e => [ isNaN(e[0].n) || null == e[0].n ? null : e[0], isNaN(e[1].n) || null == e[1].n ? null : e[1] ].filter((e => null != e)))).sort(((e, t) => { if (e[0].n < t[0].n) { return -1; } else if (t[0].n < e[0].n) { return 1; } else { var n = r.indexOf(e[0].o); var i = r.indexOf(t[0].o); if (n < i) { return -1; } else if (i < n) { return 1; } else { if (e[1].n < t[1].n) { return -1; } else if (t[1].n < e[1].n) { return 1; } else { var s = r.indexOf(e[1].o); var l = r.indexOf(t[1].o); return s < l ? -1 : l < s ? 1 : 0; } } } })).reduce(((e, t) => e.concat(...t)), []); return n; } } m = l.IntervalMatcher = IntervalMatcher; f = new WeakMap, o = new WeakMap, u = new WeakMap, h = new WeakMap, c = new WeakMap, p = new WeakMap, v = new WeakMap, g = new WeakMap, d = new WeakMap; IntervalMatcher.normop = e => null == e ? null : ((e.match(/([<>\(\)\[\]])/) || [])[1] || "") + ((e.match(/(=)/) || [])[1] || ""); var N = t.exports; (function(e, t) { "use strict"; Object.defineProperty(t, "__esModule", { value: true }); t.Gex = void 0; t.Patrun = s; const r = i; Object.defineProperty(t, "Gex", { enumerable: true, get: function() { return r.Gex; } }); const n = l; function s(e) { e = e || {}; var t = {}; var i = {}; let s = []; if (e.gex) { s.push(new n.GexMatcher); } if (e.interval) { s.push(new n.IntervalMatcher); } t.top = function() { return i; }; t.add = function(r, n) { r = { ...r }; var l = "function" === typeof e ? e.call(t, r, n) : null; var a = Object.keys(r).filter((e => null != r[e])).sort(); a.forEach((function(e) { r[e] = String(r[e]); })); var f = i; var o; for (var u = 0; u < a.length; u++) { var h = a[u]; var c = r[h]; let e = s.reduce(((e, t) => e || t.make(h, c)), undefined); o = f.v; if (o && h == f.k) { if (e) { var p = f.g = f.g || {}; var v = p[h] = p[h] || []; e = v.find((t => t.same(e))) || (v.push(e), e); f = e.keymap || (e.keymap = {}); } else { f = o[c] || (o[c] = {}); } } else if (!f.k) { f.k = h; f.v = {}; if (e) { var p = f.g = f.g || {}; var v = p[h] = p[h] || []; e = v.find((t => t.same(e))) || (v.push(e), e); f = e.keymap || (e.keymap = {}); } else { f = f.v[c] = {}; } } else if (h < f.k) { var g = f.s; var p = f.g; f.s = { k: f.k, v: f.v }; if (g) { f.s.s = g; } if (p) { f.s.g = p; } if (f.g) { f.g = {}; } f.k = h; f.v = {}; if (e) { var p = f.g = f.g || {}; var v = p[h] = p[h] || []; e = v.find((t => t.same(e))) || (v.push(e), e); f = e.keymap || (e.keymap = {}); } else { f = f.v[c] = {}; } } else { f = f.s || (f.s = {}); u--; } } if (void 0 !== n && f) { f.d = n; if (l) { f.f = "function" === typeof l ? l : l.find; f.r = "function" === typeof l.remove ? l.remove : void 0; } } return t; }; t.findexact = function(e) { return t.find(e, true); }; t.find = function(e, r, n) { if (null == e) return null; var s = i; var l = void 0 === i.d ? null : i.d; var a = i.f; var f = null; var o = []; var u = {}; var h = Object.keys(e).length; var c = []; if (void 0 !== i.d) { c.push(i.d); } do { f = s.k; if (s.v) { var p = e[f]; var v = s.v[p]; if (!v && s.g && s.g[f]) { var g = s.g[f]; for (var d = 0; d < g.length; d++) { if (g[d].match(p)) { v = g[d].keymap; break; } } } if (v) { u[f] = true; if (s.s) { o.push(s.s); } l = void 0 === v.d ? r ? null : l : v.d; if (n && void 0 !== v.d) { c.push(v.d); } a = v.f; s = v; } else { s = s.s; } } else { s = null; } if (null == s && 0 < o.length && (null == l || n && !r)) { s = o.pop(); } } while (s); if (r) { if (Object.keys(u).length !== h) { l = null; } } else { if (null == l && void 0 !== i.d) { l = i.d; } } if (a) { l = a.call(t, e, l); } return n ? c : l; }; t.remove = function(e) { var t = i; var r = null; var n; var s = []; do { n = t.k; if (t.v || t.g) { if (t.v) { var l = t.v[e[n]]; if (l) { s.push({ km: t, v: e[n] }); } } if (null == l && t.g) { let r = t.g[n] || []; for (let i = 0; i < r.length; i++) { if (r[i].fix === e[n]) { s.push({ km: t, v: e[n], mv: r[i] }); l = r[i].keymap; break; } } } if (l) { r = l.d; t = l; } else { t = t.s; } } else { t = null; } } while (t); if (void 0 !== r) { var a = s[s.length - 1]; if (a && a.km && a.km.v) { var f = a.km.v[a.v] || a.mv && a.mv.keymap; if (f && (!f.r || f.r(e, f.d))) { delete f.d; } } } }; t.list = function(e, t) { e = e || {}; function n(i, s, l, a) { if (i.v) { var f = i.k; var o = (0, r.Gex)(e ? null == e[f] ? t ? null : "*" : e[f] : "*"); var u = { ...s }; var h = { ...l }; var c; for (var p in i.v) { if (p === e[f] || !t && null == e[f] || o.on(p)) { var v = { ...u }; v[f] = p; var g = { ...h }; delete g[f]; c = i.v[p]; if (0 === Object.keys(g).length && c && c.d) { a.push({ match: v, data: c.d, find: c.f }); } if (c && null != c.v) { n(c, { ...v }, { ...g }, a); } } } c = i.s; if (c) { n(c, { ...u }, { ...h }, a); } } } var s = []; if (i.d) { s.push({ match: {}, data: i.d, find: i.f }); } n(i, {}, { ...e }, s); return s; }; t.toString = function(e, t) { var r = true === e ? true : !!t; var n = "function" === typeof e ? e : function(e) { return "function" === typeof e ? "<" + e.name + ">" : "<" + e + ">"; }; function s(e, t) { for (var r = 0; r < t; r++) { e.push(" "); } } var l = []; function a(e, t, r, i) { var f; if (void 0 !== e.d) { t.push(" " + n(e.d)); l.push(i.join(", ") + " -> " + n(e.d)); } if (e.k) { t.push("\n"); s(t, r); t.push(e.k + ":"); } if (e.v || e.s || e.g) { r++; } if (e.v) { var o = Object.keys(e.v).sort(); for (var u = 0; u < o.length; u++) { var h = o[u]; t.push("\n"); s(t, r); t.push(h + " ->"); f = i.slice(); f.push(e.k + "=" + h); a(e.v[h], t, r + 1, f); } } if (e.g) { var o = Object.keys(e.g).sort(); for (var u = 0; u < o.length; u++) { var c = e.g[o[u]]; for (var p = 0; p < c.length; p++) { var v = c[p]; t.push("\n"); s(t, r); t.push(v.fix + " ~>"); f = i.slice(); f.push(e.k + "~" + v.fix); a(v.keymap, t, r + 1, f); } } } if (e.s) { t.push("\n"); s(t, r); t.push("|"); f = i.slice(); a(e.s, t, r + 1, f); } } var f = []; a(i, f, 0, []); return r ? f.join("") : l.join("\n"); }; t.inspect = t.toString; t.toJSON = function(e) { return JSON.stringify(i, (function(e, t) { if ("function" === typeof t) return "[Function]"; return t; }), e); }; return t; } function a(e) { return new s(e); } if ("undefined" !== "object") { e.exports = a; e.exports.Patrun = s; e.exports.Gex = r.Gex; } t.default = a; })(t, t.exports); var b = t.exports; const M = e.getDefaultExportFromCjs(b); class PatternManager { #e; constructor(e = { globMatch: true }) { this.#e = b.Patrun({ gex: !!e.globMatch }); } add(e, t) { this.#e.add(e, t); return this; } remove(e) { this.#e.remove(e); return this; } find(e, t = false) { return this.#e.find(e, t); } list(e) { return this.#e.list(e); } toJSON() { return this.#e.toJSON(); } } exports.PatternManager = PatternManager;