63 lines
1.7 KiB
JavaScript
63 lines
1.7 KiB
JavaScript
// Metro module 1956 (f1957).
|
|
export default function buildMatchFn(c13380_0) {
|
|
return function(a0) {
|
|
let r38, r52;
|
|
const r11 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const width = r11.width;
|
|
let r8 = width ? c13380_0.matchPatterns[width] : width;
|
|
if (!r8) {
|
|
r8 = c13380_0.matchPatterns[c13380_0.defaultMatchWidth];
|
|
}
|
|
const r27 = a0.match(r8);
|
|
if (r27) {
|
|
const r28 = r27[0];
|
|
let r29 = width && c13380_0.parsePatterns[width];
|
|
if (!r29) {
|
|
r29 = c13380_0.parsePatterns[c13380_0.defaultParseWidth];
|
|
}
|
|
if (Array.isArray(r29)) {
|
|
const length = r29.length;
|
|
let r44 = 0;
|
|
const r5 = 0 < length;
|
|
let r45 = void 0;
|
|
if (r5) {
|
|
do {
|
|
const r48 = r29[r44].test(r28);
|
|
const r49 = r44;
|
|
r45 = r49;
|
|
if (r48) {
|
|
break;
|
|
}
|
|
const r50 = r49 + 1;
|
|
r52 = r50 < r29.length;
|
|
r44 = r50;
|
|
r45 = void 0;
|
|
} while (r52);
|
|
}
|
|
r38 = r45;
|
|
} else {
|
|
const r14 = r29;
|
|
r38 = void 0;
|
|
for (const key in r14) {
|
|
r38 = void 0;
|
|
if (r29.hasOwnProperty(key)) {
|
|
const r42 = r29[key].test(r28);
|
|
r38 = key;
|
|
if (r42) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
r38 = void 0;
|
|
}
|
|
const r55 = c13380_0.valueCallback ? c13380_0.valueCallback(r38) : r38;
|
|
return {
|
|
value: r11.valueCallback ? r11.valueCallback(r55) : r55,
|
|
rest: a0.slice(r28.length)
|
|
};
|
|
}
|
|
return null;
|
|
};
|
|
};
|
|
module.exports = exports.default;
|