68 lines
1.6 KiB
JavaScript
68 lines
1.6 KiB
JavaScript
// Metro module 5888 (f5889).
|
|
import * as _arrayIncludes from "./arrayIncludes";
|
|
import * as _arrayIncludesWith from "./arrayIncludesWith";
|
|
import * as _Module5894 from "./Module5894";
|
|
import * as _setToArray from "./setToArray";
|
|
import * as _cacheHas from "./cacheHas";
|
|
import * as _SetCache from "./SetCache";
|
|
module.exports = function baseUniq(a0, a1, a2) {
|
|
let r5, r9, r48;
|
|
let r8 = _arrayIncludes;
|
|
const length = a0.length;
|
|
const r25 = [];
|
|
if (a2) {
|
|
r8 = _arrayIncludesWith;
|
|
r5 = false;
|
|
r9 = r25;
|
|
} else if (length >= 200) {
|
|
const r17 = a1 ? null : _Module5894(a0);
|
|
if (r17) {
|
|
return _setToArray(r17);
|
|
}
|
|
r8 = _cacheHas;
|
|
r9 = new _SetCache();
|
|
r5 = false;
|
|
} else {
|
|
r9 = a1 ? [] : r25;
|
|
r5 = true;
|
|
}
|
|
const r6 = 0 < length;
|
|
let r34 = 0;
|
|
if (r6) {
|
|
do {
|
|
const r35 = a0[r34];
|
|
const r1 = r34;
|
|
const r36 = a1 ? a1(r35) : r35;
|
|
const r37 = a2 ? r35 : r35 !== 0 ? r35 : 0;
|
|
L29: {
|
|
if (r5 && r36 == r36) {
|
|
const r44 = +r9.length;
|
|
let r45 = r44 - 1;
|
|
if (r44) {
|
|
do {
|
|
const r46 = r9[r45];
|
|
const r47 = r45;
|
|
if (r46 === r36) {
|
|
break L29;
|
|
}
|
|
r48 = +r47;
|
|
r45 = r48 - 1;
|
|
} while (r48);
|
|
}
|
|
if (a1) {
|
|
r9.push(r36);
|
|
}
|
|
r25.push(r37);
|
|
} else if (!r8(r9, r36, a2)) {
|
|
if (r9 !== r25) {
|
|
r9.push(r36);
|
|
}
|
|
r25.push(r37);
|
|
}
|
|
}
|
|
r34 = r1 + 1;
|
|
} while (r34 < length);
|
|
}
|
|
return r25;
|
|
};
|