UNPKG

@progress/kendo-vue-data-tools

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