decord/source/modules/queries/ArraySearch.tsx

140 lines
4.2 KiB
TypeScript
Raw Normal View History

2026-08-05 07:35:12 +00:00
// Module ID: 11341
// Function ID: 11342
2026-07-29 08:29:29 +00:00
// Name: sortGroup
2026-07-23 10:11:24 +00:00
// Dependencies: [2]
2026-07-20 16:05:17 +00:00
// Exports: queryData
2026-08-05 07:35:12 +00:00
// Module 11341 (sortGroup)
2026-07-29 08:29:29 +00:00
function sortGroup(arr) {
let closure_0 = arg1;
return arr.sort((arg0, arg1) => {
const iter = dependencyMap[Symbol.iterator]();
while (iter !== undefined) {
let tmp2 = iter.next()(arg0, arg1);
let tmp3 = tmp2;
if (0 !== tmp2) {
let tmp4 = iter;
iter.return();
return tmp2;
2026-07-20 16:05:17 +00:00
}
}
return 0;
});
}
2026-07-23 10:11:24 +00:00
const result = require("set").fileFinishedImporting("modules/queries/ArraySearch.tsx");
2026-07-20 16:05:17 +00:00
export const queryData = function queryData(arr, limit) {
2026-07-29 08:29:29 +00:00
let num = limit.limit;
if (num == null) {
num = Infinity;
2026-07-20 16:05:17 +00:00
}
let filterPredicates = limit.filterPredicates;
2026-07-29 08:29:29 +00:00
if (filterPredicates == null) {
2026-07-20 16:05:17 +00:00
filterPredicates = [];
}
2026-07-29 08:29:29 +00:00
const found = arr.filter((arg0) => {
let closure_0 = arg0;
return closure_0.every((arg0) => arg0(closure_0));
});
2026-07-20 16:05:17 +00:00
if (null != limit.bucketPredicates) {
if (limit.bucketPredicates.length > 0) {
2026-07-29 08:29:29 +00:00
if (num >= found.length) {
2026-07-20 16:05:17 +00:00
let bucketPredicates = limit.bucketPredicates;
2026-07-29 08:29:29 +00:00
if (bucketPredicates == null) {
2026-07-20 16:05:17 +00:00
bucketPredicates = [];
}
2026-07-29 08:29:29 +00:00
let tmp = (function applyBucketingSingleIteration(found, bucketPredicates) {
2026-07-20 16:05:17 +00:00
const array = new Array(bucketPredicates.length);
const mapped = array.fill(null).map(() => []);
2026-07-29 08:29:29 +00:00
const iter = found[Symbol.iterator]();
const nextResult = iter.next();
while (iter !== undefined) {
let tmp3 = nextResult;
let num = 0;
if (0 < bucketPredicates.length) {
let tmp4 = num;
let tmp5 = nextResult;
let tmp6 = num;
while (!bucketPredicates[num](tmp3)) {
let sum = num + 1;
num = sum;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
let arr2 = mapped[num];
let tmp8 = nextResult;
let arr = arr2.push(tmp3);
}
continue;
2026-07-20 16:05:17 +00:00
}
return mapped;
2026-07-29 08:29:29 +00:00
})(found, bucketPredicates);
2026-07-20 16:05:17 +00:00
} else {
let bucketPredicates1 = limit.bucketPredicates;
2026-07-29 08:29:29 +00:00
if (bucketPredicates1 == null) {
2026-07-20 16:05:17 +00:00
bucketPredicates1 = [];
}
2026-07-29 08:29:29 +00:00
tmp = (function applyBucketing(found, bucketPredicates1, limit) {
2026-07-20 16:05:17 +00:00
const items = [];
2026-07-29 08:29:29 +00:00
let tmp = found;
const iter = bucketPredicates1[Symbol.iterator]();
while (iter !== undefined) {
let items1 = [];
let items2 = [];
let tmp4 = tmp;
let tmp5 = tmp;
for (const item10021 of tmp) {
let tmp6 = item10021;
let tmp7 = nextResult;
if (tmp3(item10021)) {
let tmp11 = items2;
let tmp12 = item10021;
let arr = items2.push(tmp6);
2026-07-20 16:05:17 +00:00
} else {
2026-07-29 08:29:29 +00:00
let tmp8 = items1;
let tmp9 = item10021;
arr = items1.push(tmp6);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
continue;
}
let tmp14 = items2;
let arr1 = items.push(items2);
tmp = items1;
if (items.reduce((arg0, arg1) => arg1.length + arg0, 0) >= limit) {
let tmp16 = iter;
iter.return();
break;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
return items;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
})(found, bucketPredicates1, num);
2026-07-20 16:05:17 +00:00
}
}
}
2026-07-29 08:29:29 +00:00
let items = [found];
2026-07-20 16:05:17 +00:00
let sortComparers = limit.sortComparers;
2026-07-29 08:29:29 +00:00
if (sortComparers == null) {
2026-07-20 16:05:17 +00:00
sortComparers = [];
}
2026-07-29 08:29:29 +00:00
return (function applySorting(items, sortComparers, limit) {
items = [];
const obj = items[Symbol.iterator]();
while (obj !== undefined) {
let tmp2 = filterPredicates;
let push = items.push;
let items1 = [];
let tmp3 = items1;
let num = 0;
let arraySpreadResult = HermesBuiltin.arraySpread(filterPredicates(tmp, sortComparers), 0);
let tmp5 = push;
let tmp6 = items1;
let tmp7 = items;
let applyResult = HermesBuiltin.apply(items1, items);
if (items.length >= limit) {
let tmp9 = obj;
obj.return();
return items;
2026-07-20 16:05:17 +00:00
}
}
2026-07-29 08:29:29 +00:00
return items;
})(items, sortComparers, num).slice(0, num);
2026-07-20 16:05:17 +00:00
};