lakutata
Version:
An IoC-based universal application framework.
874 lines (845 loc) • 28.4 kB
JavaScript
"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;