regexp-range
Version:
create regex class range string `[一-十]` `[⓪-㊿]` ...
60 lines (59 loc) • 2.73 kB
JavaScript
!function(e, t) {
"object" == typeof exports && "undefined" != typeof module ? t(exports, require("@bluelovers/fill-range"), require("@lazy-cjk/regexp-range-table"), require("array-hyper-unique")) : "function" == typeof define && define.amd ? define([ "exports", "@bluelovers/fill-range", "@lazy-cjk/regexp-range-table", "array-hyper-unique" ], t) : t((e = "undefined" != typeof globalThis ? globalThis : e || self).RegexpRange = {}, e.fillRange$1, e.regexpRangeTable, e.arrayHyperUnique);
}(this, (function(e, t, n, a) {
"use strict";
function matchRange(e, t, n = {}) {
n = getOptions(n);
let r = e, i = t, l = [], g = !!n.findFirstOne;
return Object.keys(n.dataTables).some((function(e) {
let t;
if (n.dataTables[e].some((function(e) {
let n = e.indexOf(r), a = e.indexOf(i, n);
if (-1 !== n && -1 !== a) return l.push(...e.slice(n, a + 1)), t = !0, g;
})), t) return !0;
})), l && l.length ? (a.array_unique_overwrite(l), n.createRegExpString ? toRegExpString(l, n.createRegExpClass) : l) : null;
}
function toRegExpString(e, t) {
if (1 === e.length) return e[0];
let n = e.join("");
return t ? "[" + n + "]" : n;
}
function fillRange(e, n, a = {}) {
let r = e, i = n, l = null;
if (l = matchRange(e, n, a = getOptions(a)), !l && (a.arrayMode || 1 === String(r).length && 1 === String(i).length)) {
var g;
let e;
e = "string" != typeof r || "string" != typeof i || r.charCodeAt(0) <= i.charCodeAt(0),
e && (l = t.fill(r, i)), null !== (g = l) && void 0 !== g && g.length || (l = null);
}
return Array.isArray(l) && (l = l.map((e => String(e)))), l;
}
function getOptions(e) {
let t = Object.assign({}, e);
return t.dataTables = t.dataTables || n.TABLE_RANGE, t;
}
Object.defineProperty(matchRange, "__esModule", {
value: !0
}), Object.defineProperty(matchRange, "matchRange", {
value: matchRange
}), Object.defineProperty(matchRange, "default", {
value: matchRange
}), Object.defineProperty(matchRange, "getOptions", {
value: getOptions
}), Object.defineProperty(matchRange, "toRegExpString", {
value: toRegExpString
}), Object.defineProperty(matchRange, "TABLE_RANGE", {
value: n.TABLE_RANGE
}), Object.defineProperty(matchRange, "fillRange", {
value: fillRange
}), Object.defineProperty(e, "TABLE_RANGE", {
enumerable: !0,
get: function() {
return n.TABLE_RANGE;
}
}), e.default = matchRange, e.fillRange = fillRange, e.getOptions = getOptions,
e.matchRange = matchRange, e.toRegExpString = toRegExpString, Object.defineProperty(e, "__esModule", {
value: !0
});
}));
//# sourceMappingURL=index.umd.production.min.cjs.map