UNPKG

lakutata

Version:

An IoC-based universal application framework.

219 lines (192 loc) 5.15 kB
import { g as r } from "./Package.5.mjs"; "use strict"; var t = n; function n(r, t, n) { if (r instanceof RegExp) r = e(r, n); if (t instanceof RegExp) t = e(t, n); var i = a(r, t, n); return i && { start: i[0], end: i[1], pre: n.slice(0, i[0]), body: n.slice(i[0] + r.length, i[1]), post: n.slice(i[1] + t.length) }; } function e(r, t) { var n = t.match(r); return n ? n[0] : null; } n.range = a; function a(r, t, n) { var e, a, i, s, o; var f = n.indexOf(r); var l = n.indexOf(t, f + 1); var p = f; if (f >= 0 && l > 0) { if (r === t) { return [ f, l ]; } e = []; i = n.length; while (p >= 0 && !o) { if (p == f) { e.push(p); f = n.indexOf(r, p + 1); } else if (e.length == 1) { o = [ e.pop(), l ]; } else { a = e.pop(); if (a < i) { i = a; s = l; } l = n.indexOf(t, p + 1); } p = f < l && f >= 0 ? f : l; } if (e.length) { o = [ i, s ]; } } return o; } const i = r(t); var s = t; var o = m; var f = "\0SLASH" + Math.random() + "\0"; var l = "\0OPEN" + Math.random() + "\0"; var p = "\0CLOSE" + Math.random() + "\0"; var u = "\0COMMA" + Math.random() + "\0"; var v = "\0PERIOD" + Math.random() + "\0"; function h(r) { return parseInt(r, 10) == r ? parseInt(r, 10) : r.charCodeAt(0); } function c(r) { return r.split("\\\\").join(f).split("\\{").join(l).split("\\}").join(p).split("\\,").join(u).split("\\.").join(v); } function d(r) { return r.split(f).join("\\").split(l).join("{").split(p).join("}").split(u).join(",").split(v).join("."); } function g(r) { if (!r) return [ "" ]; var t = []; var n = s("{", "}", r); if (!n) return r.split(","); var e = n.pre; var a = n.body; var i = n.post; var o = e.split(","); o[o.length - 1] += "{" + a + "}"; var f = g(i); if (i.length) { o[o.length - 1] += f.shift(); o.push.apply(o, f); } t.push.apply(t, o); return t; } function m(r) { if (!r) return []; if (r.substr(0, 2) === "{}") { r = "\\{\\}" + r.substr(2); } return M(c(r), true).map(d); } function b(r) { return "{" + r + "}"; } function y(r) { return /^-?0\d/.test(r); } function j(r, t) { return r <= t; } function x(r, t) { return r >= t; } function M(r, t) { var n = []; var e = s("{", "}", r); if (!e) return [ r ]; var a = e.pre; var i = e.post.length ? M(e.post, false) : [ "" ]; if (/\$$/.test(e.pre)) { for (var o = 0; o < i.length; o++) { var f = a + "{" + e.body + "}" + i[o]; n.push(f); } } else { var l = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(e.body); var u = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(e.body); var v = l || u; var c = e.body.indexOf(",") >= 0; if (!v && !c) { if (e.post.match(/,.*\}/)) { r = e.pre + "{" + e.body + p + e.post; return M(r); } return [ r ]; } var d; if (v) { d = e.body.split(/\.\./); } else { d = g(e.body); if (d.length === 1) { d = M(d[0], false).map(b); if (d.length === 1) { return i.map((function(r) { return e.pre + d[0] + r; })); } } } var m; if (v) { var O = h(d[0]); var A = h(d[1]); var C = Math.max(d[0].length, d[1].length); var E = d.length == 3 ? Math.abs(h(d[2])) : 1; var S = j; var $ = A < O; if ($) { E *= -1; S = x; } var I = d.some(y); m = []; for (var P = O; S(P, A); P += E) { var R; if (u) { R = String.fromCharCode(P); if (R === "\\") R = ""; } else { R = String(P); if (I) { var w = C - R.length; if (w > 0) { var z = new Array(w + 1).join("0"); if (P < 0) R = "-" + z + R.slice(1); else R = z + R; } } } m.push(R); } } else { m = []; for (var L = 0; L < d.length; L++) { m.push.apply(m, M(d[L], false)); } } for (var L = 0; L < m.length; L++) { for (var o = 0; o < i.length; o++) { var f = a + m[L] + i[o]; if (!t || v || f) n.push(f); } } } return n; } const O = r(o); export { o as b, O as e };