// 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;