UNPKG

@progress/kendo-vue-data-tools

Version:
46 lines (45 loc) 1.23 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { orderBy as e, filterBy as g } from "@progress/kendo-data-query"; function l(n, f, r) { return r ? { ...n, [f]: r.length ? [...r] : void 0 } : n && n[f] ? [...n[f]] : []; } function h(n, f, r) { if (n[r]) { let o = l(n, r, e(l(n, r), f)), t = l(o, r).map((c) => h(c, f, r)); return { ...o, [r]: t }; } return n; } function C(n, f, r) { let o = e(n, f); return o = o.map((t) => h(t, f, r)), o; } function B(n, f, r) { let o = l(n, r); if (o && o.length) { o = o.map((i) => B(i, f, r)); const y = g(o, { filters: [ { filters: f, logic: "and" }, { operator: (i) => !!(i[r] || []).length } ], logic: "or" }); return l(n, r, y); } return n; } function $(n, f, r) { let o = { [r]: [...n] }; return o = B(o, f, r), o[r] || []; } export { $ as filterBy, C as orderBy };