@dcupl/bundle 2.0.0-beta.12 → 2.0.0-beta.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -521,16 +521,16 @@
521
521
  g$1.Request = Request;
522
522
  g$1.Response = Response;
523
523
  }
524
- var Ot$1 = typeof global == "object" && global && global.Object === Object && global, fr$1 = typeof self == "object" && self && self.Object === Object && self, O$1 = Ot$1 || fr$1 || Function("return this")(), A$2 = O$1.Symbol, $t$1 = Object.prototype, lr$1 = $t$1.hasOwnProperty, dr$1 = $t$1.toString, k$3 = A$2 ? A$2.toStringTag : void 0;
524
+ var Ot$1 = typeof global == "object" && global && global.Object === Object && global, fr$1 = typeof self == "object" && self && self.Object === Object && self, O$1 = Ot$1 || fr$1 || Function("return this")(), A$2 = O$1.Symbol, $t$1 = Object.prototype, lr$1 = $t$1.hasOwnProperty, dr$1 = $t$1.toString, k$2 = A$2 ? A$2.toStringTag : void 0;
525
525
  function hr$1(r) {
526
- var e = lr$1.call(r, k$3), t = r[k$3];
526
+ var e = lr$1.call(r, k$2), t = r[k$2];
527
527
  try {
528
- r[k$3] = void 0;
528
+ r[k$2] = void 0;
529
529
  var n = true;
530
530
  } catch {
531
531
  }
532
532
  var s = dr$1.call(r);
533
- return n && (e ? r[k$3] = t : delete r[k$3]), s;
533
+ return n && (e ? r[k$2] = t : delete r[k$2]), s;
534
534
  }
535
535
  var pr$1 = Object.prototype, gr$1 = pr$1.toString;
536
536
  function yr$1(r) {
@@ -544,7 +544,7 @@
544
544
  return r != null && typeof r == "object";
545
545
  }
546
546
  var vr$1 = "[object Symbol]";
547
- function P$1(r) {
547
+ function P$2(r) {
548
548
  return typeof r == "symbol" || T$4(r) && N$2(r) == vr$1;
549
549
  }
550
550
  function z$2(r, e) {
@@ -558,7 +558,7 @@
558
558
  return r;
559
559
  if (v$2(r))
560
560
  return z$2(r, ce$1) + "";
561
- if (P$1(r))
561
+ if (P$2(r))
562
562
  return ze$2 ? ze$2.call(r) : "";
563
563
  var e = r + "";
564
564
  return e == "0" && 1 / r == -1 / 0 ? "-0" : e;
@@ -581,7 +581,7 @@
581
581
  function Mr$1(r) {
582
582
  if (typeof r == "number")
583
583
  return r;
584
- if (P$1(r))
584
+ if (P$2(r))
585
585
  return Be$2;
586
586
  if (E$3(r)) {
587
587
  var e = typeof r.valueOf == "function" ? r.valueOf() : r;
@@ -698,14 +698,14 @@
698
698
  return r;
699
699
  };
700
700
  }
701
- var oe$2 = (function() {
701
+ var oe$1 = (function() {
702
702
  try {
703
703
  var r = q$2(Object, "defineProperty");
704
704
  return r({}, "", {}), r;
705
705
  } catch {
706
706
  }
707
- })(), en$1 = oe$2 ? function(r, e) {
708
- return oe$2(r, "toString", {
707
+ })(), en$1 = oe$1 ? function(r, e) {
708
+ return oe$1(r, "toString", {
709
709
  configurable: true,
710
710
  enumerable: false,
711
711
  value: Yr$1(e),
@@ -745,7 +745,7 @@
745
745
  return e = e ?? un$1, !!e && (t == "number" || t != "symbol" && cn$1.test(r)) && r > -1 && r % 1 == 0 && r < e;
746
746
  }
747
747
  function fn$1(r, e, t) {
748
- e == "__proto__" && oe$2 ? oe$2(r, e, {
748
+ e == "__proto__" && oe$1 ? oe$1(r, e, {
749
749
  configurable: true,
750
750
  enumerable: true,
751
751
  value: t,
@@ -778,7 +778,7 @@
778
778
  function Ee$2(r) {
779
779
  return typeof r == "number" && r > -1 && r % 1 == 0 && r <= yn$1;
780
780
  }
781
- function F$1(r) {
781
+ function F$2(r) {
782
782
  return r != null && Ee$2(r.length) && !_t$1(r);
783
783
  }
784
784
  var mn$1 = Object.prototype;
@@ -803,11 +803,11 @@
803
803
  function xn$1() {
804
804
  return false;
805
805
  }
806
- var Et$1 = typeof exports == "object" && exports && !exports.nodeType && exports, Xe$2 = Et$1 && typeof module == "object" && module && !module.nodeType && module, Sn$1 = Xe$2 && Xe$2.exports === Et$1, Ve$3 = Sn$1 ? O$1.Buffer : void 0, Tn$1 = Ve$3 ? Ve$3.isBuffer : void 0, ae$1 = Tn$1 || xn$1, On$1 = "[object Arguments]", $n$1 = "[object Array]", _n$1 = "[object Boolean]", Mn$1 = "[object Date]", Cn$1 = "[object Error]", Dn$1 = "[object Function]", In$1 = "[object Map]", En$1 = "[object Number]", Qn$1 = "[object Object]", Nn$1 = "[object RegExp]", jn$1 = "[object Set]", qn$1 = "[object String]", Kn$1 = "[object WeakMap]", Pn$1 = "[object ArrayBuffer]", Rn$1 = "[object DataView]", Fn$1 = "[object Float32Array]", Ln$1 = "[object Float64Array]", kn$1 = "[object Int8Array]", Gn$1 = "[object Int16Array]", zn$1 = "[object Int32Array]", Bn$1 = "[object Uint8Array]", Un$1 = "[object Uint8ClampedArray]", Hn$1 = "[object Uint16Array]", Wn$1 = "[object Uint32Array]", y = {};
807
- y[Fn$1] = y[Ln$1] = y[kn$1] = y[Gn$1] = y[zn$1] = y[Bn$1] = y[Un$1] = y[Hn$1] = y[Wn$1] = true;
808
- y[On$1] = y[$n$1] = y[Pn$1] = y[_n$1] = y[Rn$1] = y[Mn$1] = y[Cn$1] = y[Dn$1] = y[In$1] = y[En$1] = y[Qn$1] = y[Nn$1] = y[jn$1] = y[qn$1] = y[Kn$1] = false;
806
+ var Et$1 = typeof exports == "object" && exports && !exports.nodeType && exports, Xe$2 = Et$1 && typeof module == "object" && module && !module.nodeType && module, Sn$1 = Xe$2 && Xe$2.exports === Et$1, Ve$3 = Sn$1 ? O$1.Buffer : void 0, Tn$1 = Ve$3 ? Ve$3.isBuffer : void 0, ae$1 = Tn$1 || xn$1, On$1 = "[object Arguments]", $n$1 = "[object Array]", _n$1 = "[object Boolean]", Mn$1 = "[object Date]", Cn$1 = "[object Error]", Dn$1 = "[object Function]", In$1 = "[object Map]", En$1 = "[object Number]", Qn$1 = "[object Object]", Nn$1 = "[object RegExp]", jn$1 = "[object Set]", qn$1 = "[object String]", Kn$1 = "[object WeakMap]", Pn$1 = "[object ArrayBuffer]", Rn$1 = "[object DataView]", Fn$1 = "[object Float32Array]", Ln$1 = "[object Float64Array]", kn$1 = "[object Int8Array]", Gn$1 = "[object Int16Array]", zn$1 = "[object Int32Array]", Bn$1 = "[object Uint8Array]", Un$1 = "[object Uint8ClampedArray]", Hn$1 = "[object Uint16Array]", Wn$1 = "[object Uint32Array]", y$1 = {};
807
+ y$1[Fn$1] = y$1[Ln$1] = y$1[kn$1] = y$1[Gn$1] = y$1[zn$1] = y$1[Bn$1] = y$1[Un$1] = y$1[Hn$1] = y$1[Wn$1] = true;
808
+ y$1[On$1] = y$1[$n$1] = y$1[Pn$1] = y$1[_n$1] = y$1[Rn$1] = y$1[Mn$1] = y$1[Cn$1] = y$1[Dn$1] = y$1[In$1] = y$1[En$1] = y$1[Qn$1] = y$1[Nn$1] = y$1[jn$1] = y$1[qn$1] = y$1[Kn$1] = false;
809
809
  function Zn$1(r) {
810
- return T$4(r) && Ee$2(r.length) && !!y[N$2(r)];
810
+ return T$4(r) && Ee$2(r.length) && !!y$1[N$2(r)];
811
811
  }
812
812
  function X$2(r) {
813
813
  return function(e) {
@@ -846,14 +846,14 @@
846
846
  return e;
847
847
  }
848
848
  function le$1(r) {
849
- return F$1(r) ? Yn$1(r) : qt$1(r);
849
+ return F$2(r) ? Yn$1(r) : qt$1(r);
850
850
  }
851
851
  var ns$1 = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, ss$1 = /^\w*$/;
852
852
  function Ne$2(r, e) {
853
853
  if (v$2(r))
854
854
  return false;
855
855
  var t = typeof r;
856
- return t == "number" || t == "symbol" || t == "boolean" || r == null || P$1(r) ? true : ss$1.test(r) || !ns$1.test(r) || e != null && r in Object(e);
856
+ return t == "number" || t == "symbol" || t == "boolean" || r == null || P$2(r) ? true : ss$1.test(r) || !ns$1.test(r) || e != null && r in Object(e);
857
857
  }
858
858
  var U$2 = q$2(Object, "create");
859
859
  function is$1() {
@@ -1010,7 +1010,7 @@
1010
1010
  return v$2(r) ? r : Ne$2(r, e) ? [r] : Ns$1(qe$3(r));
1011
1011
  }
1012
1012
  function pe$1(r) {
1013
- if (typeof r == "string" || P$1(r))
1013
+ if (typeof r == "string" || P$2(r))
1014
1014
  return r;
1015
1015
  var e = r + "";
1016
1016
  return e == "0" && 1 / r == -1 / 0 ? "-0" : e;
@@ -1234,13 +1234,13 @@
1234
1234
  }) : zi(r) && r.forEach(function(p2, m) {
1235
1235
  o.set(m, ie(p2, e, t, m, r, i));
1236
1236
  });
1237
- var d = Ae$2, h2 = u ? void 0 : d(r);
1238
- return rn$1(h2 || r, function(p2, m) {
1239
- h2 && (m = p2, p2 = r[m]), hn$1(o, m, ie(p2, e, t, m, r, i));
1237
+ var d = Ae$2, h = u ? void 0 : d(r);
1238
+ return rn$1(h || r, function(p2, m) {
1239
+ h && (m = p2, p2 = r[m]), hn$1(o, m, ie(p2, e, t, m, r, i));
1240
1240
  }), o;
1241
1241
  }
1242
1242
  var vo$1 = 1, wo$1 = 4;
1243
- function C$2(r) {
1243
+ function C$1(r) {
1244
1244
  return ie(r, vo$1 | wo$1);
1245
1245
  }
1246
1246
  var Ao$1 = "__lodash_hash_undefined__";
@@ -1274,7 +1274,7 @@
1274
1274
  var c = i.get(r), f = i.get(e);
1275
1275
  if (c && f)
1276
1276
  return c == e && f == r;
1277
- var l = -1, d = true, h2 = t & $o$1 ? new Z$3() : void 0;
1277
+ var l = -1, d = true, h = t & $o$1 ? new Z$3() : void 0;
1278
1278
  for (i.set(r, e), i.set(e, r); ++l < a; ) {
1279
1279
  var p2 = r[l], m = e[l];
1280
1280
  if (n)
@@ -1285,10 +1285,10 @@
1285
1285
  d = false;
1286
1286
  break;
1287
1287
  }
1288
- if (h2) {
1288
+ if (h) {
1289
1289
  if (!To$1(e, function(D2, I2) {
1290
- if (!zt$1(h2, I2) && (p2 === D2 || s(p2, D2, t, n, i)))
1291
- return h2.push(I2);
1290
+ if (!zt$1(h, I2) && (p2 === D2 || s(p2, D2, t, n, i)))
1291
+ return h.push(I2);
1292
1292
  })) {
1293
1293
  d = false;
1294
1294
  break;
@@ -1358,9 +1358,9 @@
1358
1358
  if (!(o ? d in e : Bo.call(e, d)))
1359
1359
  return false;
1360
1360
  }
1361
- var h2 = i.get(r), p2 = i.get(e);
1362
- if (h2 && p2)
1363
- return h2 == e && p2 == r;
1361
+ var h = i.get(r), p2 = i.get(e);
1362
+ if (h && p2)
1363
+ return h == e && p2 == r;
1364
1364
  var m = true;
1365
1365
  i.set(r, e), i.set(e, r);
1366
1366
  for (var M2 = o; ++l < u; ) {
@@ -1393,9 +1393,9 @@
1393
1393
  if (d && !f)
1394
1394
  return i || (i = new S$2()), o || Nt$1(r) ? Bt$1(r, e, t, n, s, i) : ko$1(r, e, u, t, n, s, i);
1395
1395
  if (!(t & Ho)) {
1396
- var h2 = f && mt.call(r, "__wrapped__"), p2 = l && mt.call(e, "__wrapped__");
1397
- if (h2 || p2) {
1398
- var m = h2 ? r.value() : r, M2 = p2 ? e.value() : e;
1396
+ var h = f && mt.call(r, "__wrapped__"), p2 = l && mt.call(e, "__wrapped__");
1397
+ if (h || p2) {
1398
+ var m = h ? r.value() : r, M2 = p2 ? e.value() : e;
1399
1399
  return i || (i = new S$2()), s(m, M2, t, n, i);
1400
1400
  }
1401
1401
  }
@@ -1506,7 +1506,7 @@
1506
1506
  return function(t, n) {
1507
1507
  if (t == null)
1508
1508
  return t;
1509
- if (!F$1(t))
1509
+ if (!F$2(t))
1510
1510
  return r(t, n);
1511
1511
  for (var s = t.length, i = -1, o = Object(t); ++i < s && n(o[i], i, o) !== false; )
1512
1512
  ;
@@ -1515,7 +1515,7 @@
1515
1515
  }
1516
1516
  var Xt$1 = fa(ca);
1517
1517
  function be$1(r) {
1518
- return T$4(r) && F$1(r);
1518
+ return T$4(r) && F$2(r);
1519
1519
  }
1520
1520
  var la = 200;
1521
1521
  function da(r, e, t, n) {
@@ -1569,7 +1569,7 @@
1569
1569
  function ma(r) {
1570
1570
  return function(e, t, n) {
1571
1571
  var s = Object(e);
1572
- if (!F$1(e)) {
1572
+ if (!F$2(e)) {
1573
1573
  var i = Y$3(t);
1574
1574
  e = le$1(e), t = function(a) {
1575
1575
  return i(s[a], a, s);
@@ -1589,7 +1589,7 @@
1589
1589
  }
1590
1590
  var va = ma(Oe$3);
1591
1591
  function wa(r, e) {
1592
- var t = -1, n = F$1(r) ? Array(r.length) : [];
1592
+ var t = -1, n = F$2(r) ? Array(r.length) : [];
1593
1593
  return Xt$1(r, function(s, i, o) {
1594
1594
  n[++t] = e(s, i, o);
1595
1595
  }), n;
@@ -1617,7 +1617,7 @@
1617
1617
  }
1618
1618
  function Oa(r, e) {
1619
1619
  if (r !== e) {
1620
- var t = r !== void 0, n = r === null, s = r === r, i = P$1(r), o = e !== void 0, a = e === null, u = e === e, c = P$1(e);
1620
+ var t = r !== void 0, n = r === null, s = r === r, i = P$2(r), o = e !== void 0, a = e === null, u = e === e, c = P$2(e);
1621
1621
  if (!a && !c && !i && r > e || i && o && u && !a && !c || n && o && u || !t && u || !s)
1622
1622
  return 1;
1623
1623
  if (!n && !i && !c && r < e || c && t && s && !n && !i || a && t && s || !o && s || !u)
@@ -1671,7 +1671,7 @@
1671
1671
  function za(r) {
1672
1672
  if (r == null)
1673
1673
  return 0;
1674
- if (F$1(r))
1674
+ if (F$2(r))
1675
1675
  return xa(r) ? La(r) : r.length;
1676
1676
  var e = w(r);
1677
1677
  return e == ka || e == Ga ? r.size : qt$1(r).length;
@@ -2046,8 +2046,8 @@
2046
2046
  const c = /* @__PURE__ */ new Set(), f = Array.from(s);
2047
2047
  for (; f.length; ) {
2048
2048
  const l = f.shift();
2049
- for (const [d, h2] of this.edges)
2050
- h2.has(l) && !c.has(d) && (c.add(d), f.push(d));
2049
+ for (const [d, h] of this.edges)
2050
+ h.has(l) && !c.has(d) && (c.add(d), f.push(d));
2051
2051
  }
2052
2052
  return c;
2053
2053
  }, a = () => {
@@ -2055,8 +2055,8 @@
2055
2055
  for (; f.length; ) {
2056
2056
  const l = f.shift(), d = this.edges.get(l);
2057
2057
  if (d)
2058
- for (const h2 of d)
2059
- c.has(h2) || (c.add(h2), f.push(h2));
2058
+ for (const h of d)
2059
+ c.has(h) || (c.add(h), f.push(h));
2060
2060
  }
2061
2061
  return c;
2062
2062
  };
@@ -2082,8 +2082,8 @@
2082
2082
  diff(e) {
2083
2083
  const t = new Set(this.getNodes()), n = new Set(e.getNodes()), s = Array.from(n).filter((l) => !t.has(l)), i = Array.from(t).filter((l) => !n.has(l)), o = new Set(this.getAllEdges().map((l) => l.join("→"))), a = new Set(e.getAllEdges().map((l) => l.join("→"))), u = Array.from(a).filter((l) => !o.has(l)).map((l) => l.split("→")), c = Array.from(o).filter((l) => !a.has(l)).map((l) => l.split("→")), f = [];
2084
2084
  for (const l of /* @__PURE__ */ new Set([...t, ...n])) {
2085
- const d = this.nodeKinds.get(l), h2 = e.nodeKinds.get(l);
2086
- d !== h2 && f.push({ name: l, from: d, to: h2 });
2085
+ const d = this.nodeKinds.get(l), h = e.nodeKinds.get(l);
2086
+ d !== h && f.push({ name: l, from: d, to: h });
2087
2087
  }
2088
2088
  return { addedNodes: s, removedNodes: i, addedEdges: u, removedEdges: c, kindChanges: f };
2089
2089
  }
@@ -2596,7 +2596,7 @@
2596
2596
  }
2597
2597
  generateContext(e) {
2598
2598
  try {
2599
- return C$2(e);
2599
+ return C$1(e);
2600
2600
  } catch (t) {
2601
2601
  return this.log.error("Error in cache generateContext", t), e;
2602
2602
  }
@@ -2662,7 +2662,7 @@
2662
2662
  };
2663
2663
  }
2664
2664
  }
2665
- const or$1 = (r, e) => e ? typeof structuredClone < "u" ? structuredClone(r) : C$2(r) : r, xt$1 = (r, e, t, n, s, i) => {
2665
+ const or$1 = (r, e) => e ? typeof structuredClone < "u" ? structuredClone(r) : C$1(r) : r, xt$1 = (r, e, t, n, s, i) => {
2666
2666
  try {
2667
2667
  const o = !!e.dcuplInitOptions.performance?.clone?.enabled && !!t.cloneResult, a = or$1(i, o);
2668
2668
  if (t.scope === "list" && (t.listKey = r.cdRef?.key || r.key, t.modelKey = r.model?.key || r.modelKey), t.type === "list_created" && t.args[0].listKey.startsWith("__global_list__") || t.listKey?.startsWith("__global_list__"))
@@ -3257,7 +3257,7 @@
3257
3257
  queries: []
3258
3258
  };
3259
3259
  _initOptions;
3260
- currentQuery = C$2(this._defaultQueryOptions);
3260
+ currentQuery = C$1(this._defaultQueryOptions);
3261
3261
  deepQueryService;
3262
3262
  constructor(e) {
3263
3263
  this.deepQueryService = e || x$1;
@@ -3286,7 +3286,7 @@
3286
3286
  * });
3287
3287
  */
3288
3288
  init(e) {
3289
- this._initOptions = C$2(e), this.currentQuery = C$2(this._defaultQueryOptions), this.currentQuery.modelKey = e.modelKey, "queries" in e && Array.isArray(e.queries) && (e.groupType && (this.currentQuery.groupType = e.groupType), e.queries && (this.currentQuery.queries = C$2(e.queries)), e.count !== void 0 && (this.currentQuery.count = e.count), e.start !== void 0 && (this.currentQuery.start = e.start), e.sort && (this.currentQuery.sort = e.sort), e.projection && (this.currentQuery.projection = e.projection));
3289
+ this._initOptions = C$1(e), this.currentQuery = C$1(this._defaultQueryOptions), this.currentQuery.modelKey = e.modelKey, "queries" in e && Array.isArray(e.queries) && (e.groupType && (this.currentQuery.groupType = e.groupType), e.queries && (this.currentQuery.queries = C$1(e.queries)), e.count !== void 0 && (this.currentQuery.count = e.count), e.start !== void 0 && (this.currentQuery.start = e.start), e.sort && (this.currentQuery.sort = e.sort), e.projection && (this.currentQuery.projection = e.projection));
3290
3290
  }
3291
3291
  reset() {
3292
3292
  return this.init(this._initOptions), this.getQuery();
@@ -3304,7 +3304,7 @@
3304
3304
  return this.currentQuery.queries.find((t) => this.isQueryGroup(t) && t.groupKey === e);
3305
3305
  }
3306
3306
  getQuery() {
3307
- return C$2(this.currentQuery);
3307
+ return C$1(this.currentQuery);
3308
3308
  }
3309
3309
  hasQueryGroup(e) {
3310
3310
  return this.currentQuery.queries.some((t) => this.isQueryGroup(t) && t.groupKey === e);
@@ -3932,21 +3932,21 @@
3932
3932
  };
3933
3933
  const Ce$2 = new ar$1();
3934
3934
  function ju(r, e, t, n, s, i, o) {
3935
- const a = Ce$2.removeQuery({ groupKey: s }, C$2(n)), u = o.queryData(r, a, false, i), c = e ? [...e.keys()] : [], f = new Set(c), l = i.get(s) ?? /* @__PURE__ */ new Map();
3935
+ const a = Ce$2.removeQuery({ groupKey: s }, C$1(n)), u = o.queryData(r, a, false, i), c = e ? [...e.keys()] : [], f = new Set(c), l = i.get(s) ?? /* @__PURE__ */ new Map();
3936
3936
  if (!t.excludeUnresolved)
3937
- for (const h2 of l.keys())
3938
- f.add(h2);
3937
+ for (const h of l.keys())
3938
+ f.add(h);
3939
3939
  if (t.excludeUndefineds ? f.delete(void 0) : f.add(void 0), t.sort) {
3940
- const h2 = [];
3940
+ const h = [];
3941
3941
  for (const m of f.values())
3942
- h2.push(Tt(m, l, u, e, s, n, true));
3943
- const p2 = t.excludeZeros ? h2.filter((m) => m.size > 0) : h2;
3942
+ h.push(Tt(m, l, u, e, s, n, true));
3943
+ const p2 = t.excludeZeros ? h.filter((m) => m.size > 0) : h;
3944
3944
  return p2.sort(lu(t.sort)), t.count ? p2.slice(0, t.count) : p2;
3945
3945
  }
3946
3946
  const d = [];
3947
- for (const h2 of f.values()) {
3947
+ for (const h of f.values()) {
3948
3948
  const p2 = Tt(
3949
- h2,
3949
+ h,
3950
3950
  l,
3951
3951
  u,
3952
3952
  e,
@@ -3979,7 +3979,7 @@
3979
3979
  resultKeys: Array.from(a.keys())
3980
3980
  };
3981
3981
  }
3982
- function se$1(r, e) {
3982
+ function se$2(r, e) {
3983
3983
  if (r === void 0 && e === void 0) return 0;
3984
3984
  if (r === void 0) return 1;
3985
3985
  if (e === void 0) return -1;
@@ -3993,13 +3993,13 @@
3993
3993
  function lu(r) {
3994
3994
  switch (r) {
3995
3995
  case "size-desc":
3996
- return (e, t) => t.size - e.size || se$1(e.value, t.value);
3996
+ return (e, t) => t.size - e.size || se$2(e.value, t.value);
3997
3997
  case "size-asc":
3998
- return (e, t) => e.size - t.size || se$1(e.value, t.value);
3998
+ return (e, t) => e.size - t.size || se$2(e.value, t.value);
3999
3999
  case "value-asc":
4000
- return (e, t) => se$1(e.value, t.value);
4000
+ return (e, t) => se$2(e.value, t.value);
4001
4001
  case "value-desc":
4002
- return (e, t) => e.value === void 0 && t.value === void 0 ? 0 : e.value === void 0 ? 1 : t.value === void 0 ? -1 : -se$1(e.value, t.value);
4002
+ return (e, t) => e.value === void 0 && t.value === void 0 ? 0 : e.value === void 0 ? 1 : t.value === void 0 ? -1 : -se$2(e.value, t.value);
4003
4003
  }
4004
4004
  }
4005
4005
  const du = (r, e, t) => {
@@ -4312,8 +4312,8 @@
4312
4312
  for (const d of t.values) {
4313
4313
  if (f.values = f.values || [], s === "root" && e?.calculateTotals === false)
4314
4314
  continue;
4315
- const h2 = Fe$2(d, l, n.getIndex(d.attribute), d.attribute);
4316
- f.values.push(h2);
4315
+ const h = Fe$2(d, l, n.getIndex(d.attribute), d.attribute);
4316
+ f.values.push(h);
4317
4317
  }
4318
4318
  if (o.rows = o.rows || [], o.rows.push(f), t.rows.length > 1) {
4319
4319
  const d = { ...t, rows: t.rows.slice(1) };
@@ -4328,7 +4328,7 @@
4328
4328
  } else if (t.columns)
4329
4329
  for (const d of t.columns) {
4330
4330
  f.columns = f.columns || [];
4331
- const h2 = cr$1(
4331
+ const h = cr$1(
4332
4332
  l,
4333
4333
  d,
4334
4334
  t,
@@ -4336,7 +4336,7 @@
4336
4336
  s + K$4 + e.attribute + K$4 + u,
4337
4337
  i
4338
4338
  );
4339
- f.columns.push(h2);
4339
+ f.columns.push(h);
4340
4340
  }
4341
4341
  }
4342
4342
  }
@@ -4357,8 +4357,8 @@
4357
4357
  for (const d of t.values) {
4358
4358
  if (f.values = f.values || [], s === "root" && e?.calculateTotals === false)
4359
4359
  continue;
4360
- const h2 = Fe$2(d, l, n.getIndex(d.attribute), d.attribute);
4361
- f.values.push(h2);
4360
+ const h = Fe$2(d, l, n.getIndex(d.attribute), d.attribute);
4361
+ f.values.push(h);
4362
4362
  }
4363
4363
  if (o.columns = o.columns || [], o.columns.push(f), t.columns.length > 1) {
4364
4364
  const d = { ...t, columns: t.columns.slice(1) };
@@ -4384,13 +4384,13 @@
4384
4384
  const f = r[c];
4385
4385
  if (f)
4386
4386
  for (const [l, d] of Object.entries(f)) {
4387
- let h2 = s.get(l);
4388
- if (h2 || (h2 = { observed: /* @__PURE__ */ new Set(), empty: 0, scanned: 0 }, s.set(l, h2), i.push(l)), h2.scanned++, Au(d)) {
4389
- h2.empty++;
4387
+ let h = s.get(l);
4388
+ if (h || (h = { observed: /* @__PURE__ */ new Set(), empty: 0, scanned: 0 }, s.set(l, h), i.push(l)), h.scanned++, Au(d)) {
4389
+ h.empty++;
4390
4390
  continue;
4391
4391
  }
4392
4392
  let p2;
4393
- typeof d == "string" && n ? (p2 = vu(d), p2 === "string" && !h2.hint && wu(d) && (h2.hint = "column looks date-like (non-ISO) — review manually")) : p2 = $u(d), h2.observed.add(p2);
4393
+ typeof d == "string" && n ? (p2 = vu(d), p2 === "string" && !h.hint && wu(d) && (h.hint = "column looks date-like (non-ISO) — review manually")) : p2 = $u(d), h.observed.add(p2);
4394
4394
  }
4395
4395
  }
4396
4396
  const a = [], u = [];
@@ -4543,7 +4543,7 @@
4543
4543
  const c = this.queryBuilder.extractQueryAttributes({ queries: [t] });
4544
4544
  if (c.some((d) => d.isDeepQuery)) {
4545
4545
  const d = this.queryBuilder.getProjectionForAttributeEntries(
4546
- c.filter((h2) => h2.isDeepQuery)
4546
+ c.filter((h) => h.isDeepQuery)
4547
4547
  );
4548
4548
  u = this.globalItemService.getProjectedData(
4549
4549
  d,
@@ -4554,8 +4554,8 @@
4554
4554
  const f = this.handleArrayStarQuery(t, u);
4555
4555
  let l = false;
4556
4556
  for (const d of f.queries) {
4557
- const h2 = { ...d, options: { ...d.options, invert: false } };
4558
- if (this.evaluateQuery(h2, u)) {
4557
+ const h = { ...d, options: { ...d.options, invert: false } };
4558
+ if (this.evaluateQuery(h, u)) {
4559
4559
  l = true;
4560
4560
  break;
4561
4561
  }
@@ -4897,12 +4897,12 @@
4897
4897
  o.sort = l;
4898
4898
  let u = this.item.getItemsAsMap(this.filteredData, this.model, o);
4899
4899
  if (i) {
4900
- const d = this.queryBuilder.getProjectionForAttributeEntries([r]), h2 = /* @__PURE__ */ new Map();
4900
+ const d = this.queryBuilder.getProjectionForAttributeEntries([r]), h = /* @__PURE__ */ new Map();
4901
4901
  for (const [y2, D2] of u) {
4902
4902
  const v2 = this.item.getProjectedData(d, this.model, D2);
4903
- h2.set(y2, v2);
4903
+ h.set(y2, v2);
4904
4904
  }
4905
- u = h2;
4905
+ u = h;
4906
4906
  }
4907
4907
  const f = this.indicesController.getOrCreateIndex(`${e.attribute}`, u, {
4908
4908
  childLevelSorting: l,
@@ -4914,14 +4914,14 @@
4914
4914
  );
4915
4915
  if (c.distinct)
4916
4916
  for (const d of c.distinct) {
4917
- let h2 = { key: d.value, value: d.value };
4917
+ let h = { key: d.value, value: d.value };
4918
4918
  const y2 = d.keys.filter((v2) => u.has(v2));
4919
4919
  if (a) {
4920
4920
  const v2 = a.data.get(d.value);
4921
- v2 && (h2 = v2);
4921
+ v2 && (h = v2);
4922
4922
  }
4923
4923
  const D2 = {
4924
- ...h2,
4924
+ ...h,
4925
4925
  key: d.value,
4926
4926
  _items: [],
4927
4927
  _aggregates: [],
@@ -4941,7 +4941,7 @@
4941
4941
  g2.sort = d;
4942
4942
  }
4943
4943
  if (t._meta.currentSize = s.size, t._meta.initialSize = c.distinct.length, s = this.item.getItemsAsMap(s, a, g2), Array.isArray(e?.aggregates) && s.forEach((d) => {
4944
- const h2 = c.distinct.find((D2) => D2.value === d.key), y2 = this.getDataByKeys(u, h2.keys);
4944
+ const h = c.distinct.find((D2) => D2.value === d.key), y2 = this.getDataByKeys(u, h.keys);
4945
4945
  d._aggregates = e.aggregates.map((D2) => {
4946
4946
  const v2 = this.indicesController.getOrCreateIndex(`${D2.attribute}`, y2, {
4947
4947
  section: d.key,
@@ -4951,15 +4951,15 @@
4951
4951
  return this.getAggregate(D2, y2, v2);
4952
4952
  });
4953
4953
  }), e?.items) {
4954
- const d = e.items?.find((h2) => h2.key === "*");
4955
- d ? s.forEach((h2) => {
4956
- const y2 = c.distinct.find((x2) => x2.value === h2.key), D2 = this.getDataByKeys(u, y2.keys), v2 = this.item.getItems(D2, this.model, d);
4957
- h2._items = v2;
4958
- }) : s.forEach((h2) => {
4959
- const y2 = e.items?.find((D2) => D2.key === h2.key);
4954
+ const d = e.items?.find((h) => h.key === "*");
4955
+ d ? s.forEach((h) => {
4956
+ const y2 = c.distinct.find((x2) => x2.value === h.key), D2 = this.getDataByKeys(u, y2.keys), v2 = this.item.getItems(D2, this.model, d);
4957
+ h._items = v2;
4958
+ }) : s.forEach((h) => {
4959
+ const y2 = e.items?.find((D2) => D2.key === h.key);
4960
4960
  if (y2) {
4961
- const D2 = c.distinct.find((q2) => q2.value === h2.key), v2 = this.getDataByKeys(u, D2.keys), x2 = this.item.getItems(v2, this.model, y2);
4962
- h2._items = x2;
4961
+ const D2 = c.distinct.find((q2) => q2.value === h.key), v2 = this.getDataByKeys(u, D2.keys), x2 = this.item.getItems(v2, this.model, y2);
4962
+ h._items = x2;
4963
4963
  }
4964
4964
  });
4965
4965
  }
@@ -5136,16 +5136,16 @@
5136
5136
  const c = x$1.parse(e), g2 = c.isDeepQuery;
5137
5137
  let d = l;
5138
5138
  if (g2) {
5139
- const h2 = this.queryBuilder.getProjectionForAttributeEntries([c]);
5139
+ const h = this.queryBuilder.getProjectionForAttributeEntries([c]);
5140
5140
  d = /* @__PURE__ */ new Map();
5141
5141
  for (const [y2, D2] of l) {
5142
- const v2 = this.item.getProjectedData(h2, this.model, D2);
5142
+ const v2 = this.item.getProjectedData(h, this.model, D2);
5143
5143
  d.set(y2, v2);
5144
5144
  }
5145
5145
  }
5146
- d.forEach((h2) => {
5146
+ d.forEach((h) => {
5147
5147
  let y2;
5148
- g2 ? (y2 = L$2(h2, e), y2.length === 0 && (y2 = [void 0])) : y2 = [h2[e]], this.indicesController.fillInverseIndex(e, h2.key, y2), this.indicesController.fillDataMap(e, y2);
5148
+ g2 ? (y2 = L$2(h, e), y2.length === 0 && (y2 = [void 0])) : y2 = [h[e]], this.indicesController.fillInverseIndex(e, h.key, y2), this.indicesController.fillDataMap(e, y2);
5149
5149
  }), n = this.indicesController.getIndex(e), t || (o = this.indicesController.getData(e));
5150
5150
  }
5151
5151
  const f = ju(
@@ -5387,7 +5387,7 @@
5387
5387
  }), i;
5388
5388
  }
5389
5389
  };
5390
- var U$1 = Object.defineProperty, $$1 = Object.getOwnPropertyDescriptor, C$1 = (A2, e, t, r) => {
5390
+ var U$1 = Object.defineProperty, $$1 = Object.getOwnPropertyDescriptor, C = (A2, e, t, r) => {
5391
5391
  for (var i = $$1(e, t), n = A2.length - 1, s; n >= 0; n--)
5392
5392
  (s = A2[n]) && (i = s(e, t, i) || i);
5393
5393
  return i && U$1(e, t, i), i;
@@ -5816,8 +5816,8 @@
5816
5816
  if (i) {
5817
5817
  const u = x$1.parse(e.attribute), f = this.filter.queryBuilder.getProjectionForAttributeEntries([u]), c = /* @__PURE__ */ new Map();
5818
5818
  for (const [g2, d] of n) {
5819
- const h2 = this.filter.item.getProjectedData(f, this.model, d);
5820
- c.set(g2, h2);
5819
+ const h = this.filter.item.getProjectedData(f, this.model, d);
5820
+ c.set(g2, h);
5821
5821
  }
5822
5822
  a = c;
5823
5823
  }
@@ -5925,7 +5925,7 @@
5925
5925
  return this.filter.cacheCtrl.set("pivot", t, o), o;
5926
5926
  }
5927
5927
  };
5928
- C$1([
5928
+ C([
5929
5929
  Eu({
5930
5930
  scope: "list",
5931
5931
  type: "fn_metadata",
@@ -5934,7 +5934,7 @@
5934
5934
  connectMessageResult: true
5935
5935
  })
5936
5936
  ], p$3.prototype, "_getMetadata");
5937
- C$1([
5937
+ C([
5938
5938
  Eu({
5939
5939
  scope: "list",
5940
5940
  type: "filter_many",
@@ -5943,7 +5943,7 @@
5943
5943
  connectMessageResult: true
5944
5944
  })
5945
5945
  ], p$3.prototype, "_getFilters");
5946
- C$1([
5946
+ C([
5947
5947
  Eu({
5948
5948
  scope: "list",
5949
5949
  type: "filter_one",
@@ -5952,20 +5952,20 @@
5952
5952
  connectMessageResult: true
5953
5953
  })
5954
5954
  ], p$3.prototype, "_getFilter");
5955
- C$1([
5955
+ C([
5956
5956
  Eu({
5957
5957
  scope: "list",
5958
5958
  type: "query_get",
5959
5959
  cloneResult: true
5960
5960
  })
5961
5961
  ], p$3.prototype, "getQuery");
5962
- C$1([
5962
+ C([
5963
5963
  Eu({
5964
5964
  scope: "list",
5965
5965
  type: "query_has"
5966
5966
  })
5967
5967
  ], p$3.prototype, "hasGroupOrQueryKey");
5968
- C$1([
5968
+ C([
5969
5969
  Eu({
5970
5970
  scope: "list",
5971
5971
  type: "query_apply",
@@ -5974,7 +5974,7 @@
5974
5974
  connectMessageResult: true
5975
5975
  })
5976
5976
  ], p$3.prototype, "applyQuery");
5977
- C$1([
5977
+ C([
5978
5978
  Eu({
5979
5979
  scope: "list",
5980
5980
  type: "query_apply_options",
@@ -5983,7 +5983,7 @@
5983
5983
  connectMessageResult: true
5984
5984
  })
5985
5985
  ], p$3.prototype, "applyOptions");
5986
- C$1([
5986
+ C([
5987
5987
  Eu({
5988
5988
  scope: "list",
5989
5989
  type: "query_remove",
@@ -5992,7 +5992,7 @@
5992
5992
  connectMessageResult: true
5993
5993
  })
5994
5994
  ], p$3.prototype, "removeQuery");
5995
- C$1([
5995
+ C([
5996
5996
  Eu({
5997
5997
  scope: "list",
5998
5998
  type: "query_reset",
@@ -6001,7 +6001,7 @@
6001
6001
  connectMessageResult: true
6002
6002
  })
6003
6003
  ], p$3.prototype, "resetQuery");
6004
- C$1([
6004
+ C([
6005
6005
  Eu({
6006
6006
  scope: "list",
6007
6007
  type: "query_execute",
@@ -6010,7 +6010,7 @@
6010
6010
  connectMessageResult: true
6011
6011
  })
6012
6012
  ], p$3.prototype, "executeQuery");
6013
- C$1([
6013
+ C([
6014
6014
  Eu({
6015
6015
  scope: "list",
6016
6016
  type: "fn_groupBy",
@@ -6019,7 +6019,7 @@
6019
6019
  connectMessageResult: true
6020
6020
  })
6021
6021
  ], p$3.prototype, "_getSections");
6022
- C$1([
6022
+ C([
6023
6023
  Eu({
6024
6024
  scope: "list",
6025
6025
  type: "query_one",
@@ -6028,7 +6028,7 @@
6028
6028
  connectMessageResult: true
6029
6029
  })
6030
6030
  ], p$3.prototype, "_getItem");
6031
- C$1([
6031
+ C([
6032
6032
  Eu({
6033
6033
  scope: "list",
6034
6034
  type: "query_many",
@@ -6037,7 +6037,7 @@
6037
6037
  connectMessageResult: true
6038
6038
  })
6039
6039
  ], p$3.prototype, "_getManyItems");
6040
- C$1([
6040
+ C([
6041
6041
  Eu({
6042
6042
  scope: "list",
6043
6043
  type: "fn_suggest",
@@ -6046,7 +6046,7 @@
6046
6046
  connectMessageResult: true
6047
6047
  })
6048
6048
  ], p$3.prototype, "_getSuggestions");
6049
- C$1([
6049
+ C([
6050
6050
  Eu({
6051
6051
  scope: "list",
6052
6052
  type: "fn_facets",
@@ -6055,7 +6055,7 @@
6055
6055
  connectMessageResult: true
6056
6056
  })
6057
6057
  ], p$3.prototype, "_getFacets");
6058
- C$1([
6058
+ C([
6059
6059
  Eu({
6060
6060
  scope: "list",
6061
6061
  type: "fn_aggregate",
@@ -6064,7 +6064,7 @@
6064
6064
  connectMessageResult: true
6065
6065
  })
6066
6066
  ], p$3.prototype, "getAggregate");
6067
- C$1([
6067
+ C([
6068
6068
  Eu({
6069
6069
  scope: "list",
6070
6070
  type: "fn_pivot",
@@ -6107,7 +6107,7 @@
6107
6107
  if (!E$3(t))
6108
6108
  return false;
6109
6109
  var s = typeof e;
6110
- return (s == "number" ? F$1(t) && Ct$1(e, t.length) : s == "string" && e in t) ? Ie$2(t[e], d) : false;
6110
+ return (s == "number" ? F$2(t) && Ct$1(e, t.length) : s == "string" && e in t) ? Ie$2(t[e], d) : false;
6111
6111
  }
6112
6112
  function Ee$1(d) {
6113
6113
  return gn$1(function(e, t) {
@@ -6136,17 +6136,17 @@
6136
6136
  return t;
6137
6137
  }
6138
6138
  function Q$3(d) {
6139
- return F$1(d) ? Yn$1(d, true) : xe$1(d);
6139
+ return F$2(d) ? Yn$1(d, true) : xe$1(d);
6140
6140
  }
6141
- var Ge = "[object Object]", Te$1 = Function.prototype, Ke$1 = Object.prototype, z = Te$1.toString, _e$1 = Ke$1.hasOwnProperty, $e$1 = z.call(Object);
6142
- function we$1(d) {
6141
+ var Ge = "[object Object]", Te$1 = Function.prototype, Ke$1 = Object.prototype, z = Te$1.toString, _e$1 = Ke$1.hasOwnProperty, we$1 = z.call(Object);
6142
+ function $e$1(d) {
6143
6143
  if (!T$4(d) || N$2(d) != Ge)
6144
6144
  return false;
6145
6145
  var e = Ks$1(d);
6146
6146
  if (e === null)
6147
6147
  return true;
6148
6148
  var t = _e$1.call(e, "constructor") && e.constructor;
6149
- return typeof t == "function" && t instanceof t && z.call(t) == $e$1;
6149
+ return typeof t == "function" && t instanceof t && z.call(t) == we$1;
6150
6150
  }
6151
6151
  function Fe$1(d, e, t, s) {
6152
6152
  for (var r = -1, i = d == null ? 0 : d.length; ++r < i; ) {
@@ -6184,8 +6184,8 @@
6184
6184
  }
6185
6185
  var c = i ? i(n, a, t + "", d, e, o) : void 0, f = c === void 0;
6186
6186
  if (f) {
6187
- var u = v$2(a), y2 = !u && ae$1(a), h2 = !u && !y2 && Nt$1(a);
6188
- c = a, u || y2 || h2 ? v$2(n) ? c = n : be$1(n) ? c = Ae$1(n) : y2 ? (f = false, c = ei(a, true)) : h2 ? (f = false, c = wi(a, true)) : c = [] : we$1(a) || Qe$2(a) ? (c = n, Qe$2(n) ? c = Ve$2(n) : (!E$3(n) || _t$1(n)) && (c = Li(a))) : f = false;
6187
+ var u = v$2(a), y2 = !u && ae$1(a), h = !u && !y2 && Nt$1(a);
6188
+ c = a, u || y2 || h ? v$2(n) ? c = n : be$1(n) ? c = Ae$1(n) : y2 ? (f = false, c = ei(a, true)) : h ? (f = false, c = wi(a, true)) : c = [] : $e$1(a) || Qe$2(a) ? (c = n, Qe$2(n) ? c = Ve$2(n) : (!E$3(n) || _t$1(n)) && (c = Li(a))) : f = false;
6189
6189
  }
6190
6190
  f && (o.set(a, c), r(c, a, s, i, o), o.delete(a)), T$2(d, t, c);
6191
6191
  }
@@ -7487,7 +7487,7 @@
7487
7487
  for (const l of r) {
7488
7488
  const c = this.attributeQualityConfigs.get(l.key);
7489
7489
  l.origin && (o[l.key] = o[l.origin]);
7490
- const f = this.valueMappings.find((h2) => h2.attributes.includes(l.key));
7490
+ const f = this.valueMappings.find((h) => h.attributes.includes(l.key));
7491
7491
  this.isValidValueMapping(f) && (o = this.mapRawValueUsingValueMapping(o, l.key, f));
7492
7492
  let u = o[l.key];
7493
7493
  typeof u == "number" && (u = String(u));
@@ -7524,8 +7524,8 @@
7524
7524
  }
7525
7525
  });
7526
7526
  else if (l.type === "multiValued") {
7527
- const h2 = this.getValueAsArray(u, l?.separator);
7528
- Array.isArray(h2) ? (y2 && Array.isArray(y2) && this.indicesController.removeFromInverseIndex(l.key, n.key, y2), this.processMultiValuedReference(l, h2, n)) : this.setError({
7527
+ const h = this.getValueAsArray(u, l?.separator);
7528
+ Array.isArray(h) ? (y2 && Array.isArray(y2) && this.indicesController.removeFromInverseIndex(l.key, n.key, y2), this.processMultiValuedReference(l, h, n)) : this.setError({
7529
7529
  title: "Wrong Data Type",
7530
7530
  type: "model",
7531
7531
  errorGroup: "ReferenceDataError",
@@ -7561,8 +7561,8 @@
7561
7561
  const f = c.getQuery();
7562
7562
  if (f.queries.length > 0) {
7563
7563
  const y2 = this.modelParser.dcuplInstance.query.execute(f);
7564
- r.type === "singleValued" ? y2[0] && (n[r.key] = { key: y2[0].key, _dcupl_ref_: "hit" }) : r.type === "multiValued" && (y2.forEach((h2) => {
7565
- h2._dcupl_ref_ = "hit";
7564
+ r.type === "singleValued" ? y2[0] && (n[r.key] = { key: y2[0].key, _dcupl_ref_: "hit" }) : r.type === "multiValued" && (y2.forEach((h) => {
7565
+ h._dcupl_ref_ = "hit";
7566
7566
  }), n[r.key] = y2);
7567
7567
  } else
7568
7568
  r.type === "singleValued" ? n[r.key] = null : r.type === "multiValued" && (n[r.key] = []);
@@ -7760,6 +7760,17 @@
7760
7760
  e.add(t);
7761
7761
  return Array.from(e);
7762
7762
  }
7763
+ /**
7764
+ * Every model the pending update effectively touches: attribute changes,
7765
+ * item changes, deletions AND full resets (#245). `getModelsWithChanges()`
7766
+ * deliberately excludes full resets and a deletion records its attribute
7767
+ * changes only later, inside the parser — so callers that need "which
7768
+ * models did this update change" must not reconstruct the union from the
7769
+ * per-kind accessors. Returns a fresh Set that survives `clear()`.
7770
+ */
7771
+ getEffectivelyChangedModels() {
7772
+ return /* @__PURE__ */ new Set([...this.getModelsWithChanges(), ...this.modelFullReset]);
7773
+ }
7763
7774
  /**
7764
7775
  * Gets all models that had a full reset (type='set')
7765
7776
  * @returns Set of model keys that need full reset
@@ -7944,7 +7955,7 @@
7944
7955
  (o = d[i]) && (r = o(e, t, r) || r);
7945
7956
  return r && ct$1(e, t, r), r;
7946
7957
  };
7947
- let M$1 = class M {
7958
+ let M$2 = class M {
7948
7959
  constructor(e, t, s) {
7949
7960
  this.cdRef = e, this.qualityController = t, this.dcuplInstance = s, this.qualityController.modelParser = this;
7950
7961
  }
@@ -8115,11 +8126,11 @@ These attributes will default to Step 1 processing which may be incorrect. This
8115
8126
  };
8116
8127
  if (this.attributeDependencyGraph.addAttributeDependency(r, f), a.length > 1) {
8117
8128
  let u = l, y2 = e;
8118
- for (let h2 = 0; h2 < a.length - 1; h2++) {
8119
- const b2 = a[h2], k2 = u.references.get(b2);
8129
+ for (let h = 0; h < a.length - 1; h++) {
8130
+ const b2 = a[h], k2 = u.references.get(b2);
8120
8131
  if (k2) {
8121
- const $2 = this.models.get(k2.model);
8122
- if ($2 && (u = $2, y2 = k2.model, h2 === a.length - 2)) {
8132
+ const w2 = this.models.get(k2.model);
8133
+ if (w2 && (u = w2, y2 = k2.model, h === a.length - 2)) {
8123
8134
  const J2 = a[a.length - 1], Y2 = {
8124
8135
  modelKey: y2,
8125
8136
  attributeKey: J2,
@@ -8644,9 +8655,9 @@ These attributes will default to Step 1 processing which may be incorrect. This
8644
8655
  for (const f of c) {
8645
8656
  const u = l.references.get(f);
8646
8657
  if (u && I(u)) {
8647
- const y2 = u.resolve.model, h2 = u.resolve.reference, b2 = this.models.get(y2);
8658
+ const y2 = u.resolve.model, h = u.resolve.reference, b2 = this.models.get(y2);
8648
8659
  if (b2) {
8649
- const k2 = b2.references.get(h2);
8660
+ const k2 = b2.references.get(h);
8650
8661
  k2 && I(k2) && t.get(a).add(y2);
8651
8662
  }
8652
8663
  }
@@ -8840,45 +8851,45 @@ These attributes will default to Step 1 processing which may be incorrect. This
8840
8851
  type: "model_add",
8841
8852
  connectMessage: true
8842
8853
  })
8843
- ], M$1.prototype, "addModel");
8854
+ ], M$2.prototype, "addModel");
8844
8855
  E$2([
8845
8856
  Eu({
8846
8857
  scope: "global",
8847
8858
  type: "data_change",
8848
8859
  connectMessage: true
8849
8860
  })
8850
- ], M$1.prototype, "addData");
8861
+ ], M$2.prototype, "addData");
8851
8862
  E$2([
8852
8863
  Eu({
8853
8864
  scope: "global",
8854
8865
  type: "view_add",
8855
8866
  connectMessage: true
8856
8867
  })
8857
- ], M$1.prototype, "addView");
8868
+ ], M$2.prototype, "addView");
8858
8869
  E$2([
8859
8870
  Eu({
8860
8871
  scope: "global",
8861
8872
  type: "dcupl_handle_datacontainer"
8862
8873
  })
8863
- ], M$1.prototype, "handleDataContainer");
8864
- function q$1(u, e) {
8874
+ ], M$2.prototype, "handleDataContainer");
8875
+ function q$1(d, e) {
8865
8876
  return z$2(e, function(t) {
8866
- return u[t];
8877
+ return d[t];
8867
8878
  });
8868
8879
  }
8869
- function B$1(u) {
8870
- return u == null ? [] : q$1(u, le$1(u));
8880
+ function F$1(d) {
8881
+ return d == null ? [] : q$1(d, le$1(d));
8871
8882
  }
8872
- var W$1 = Math.max;
8873
- function Q$2(u, e, t, r) {
8874
- u = F$1(u) ? u : B$1(u), t = t ? De$2(t) : 0;
8875
- var s = u.length;
8876
- return t < 0 && (t = W$1(s + t, 0)), xa(u) ? t <= s && u.indexOf(e, t) > -1 : !!s && on$1(u, e, t) > -1;
8883
+ var B$1 = Math.max;
8884
+ function W$1(d, e, t, r) {
8885
+ d = F$2(d) ? d : F$1(d), t = t ? De$2(t) : 0;
8886
+ var s = d.length;
8887
+ return t < 0 && (t = B$1(s + t, 0)), xa(d) ? t <= s && d.indexOf(e, t) > -1 : !!s && on$1(d, e, t) > -1;
8877
8888
  }
8878
- var j = Object.defineProperty, N$1 = Object.getOwnPropertyDescriptor, k$2 = (u, e, t, r) => {
8879
- for (var s = N$1(e, t), o = u.length - 1, i; o >= 0; o--)
8880
- (i = u[o]) && (s = i(e, t, s) || s);
8881
- return s && j(e, t, s), s;
8889
+ var Q$2 = Object.defineProperty, j = Object.getOwnPropertyDescriptor, M$1 = (d, e, t, r) => {
8890
+ for (var s = j(e, t), o = d.length - 1, i; o >= 0; o--)
8891
+ (i = d[o]) && (s = i(e, t, s) || s);
8892
+ return s && Q$2(e, t, s), s;
8882
8893
  };
8883
8894
  let E$1 = class E {
8884
8895
  constructor(e, t) {
@@ -8890,6 +8901,12 @@ These attributes will default to Step 1 processing which may be incorrect. This
8890
8901
  key;
8891
8902
  modelKey;
8892
8903
  catalog;
8904
+ /**
8905
+ * True when this list is scoped (listItemKeys / seed query) and therefore
8906
+ * owns a private IndicesController built from its pinned items, rather
8907
+ * than sharing the model's.
8908
+ */
8909
+ ownsIndicesController = false;
8893
8910
  setup(e) {
8894
8911
  const t = this.dcuplApi.modelParser.models.get(e.modelKey);
8895
8912
  if (!t)
@@ -8903,8 +8920,9 @@ These attributes will default to Step 1 processing which may be incorrect. This
8903
8920
  s = new hu();
8904
8921
  for (const o of t.indicesController.indexMap.keys())
8905
8922
  s.getOrCreateIndex(o, r);
8923
+ this.ownsIndicesController = true;
8906
8924
  } else
8907
- s = t.indicesController;
8925
+ s = t.indicesController, this.ownsIndicesController = false;
8908
8926
  return s;
8909
8927
  }
8910
8928
  getListItemKeys(e) {
@@ -8927,7 +8945,7 @@ These attributes will default to Step 1 processing which may be incorrect. This
8927
8945
  // }
8928
8946
  // @trigger({ scope: 'global', name: 'list:create', type: 'list_created' })
8929
8947
  init(e) {
8930
- this.options = C$2(e), this.key = this.options.listKey, this.modelKey = this.options.modelKey, this.setup(this.options);
8948
+ this.options = C$1(e), this.key = this.options.listKey, this.modelKey = this.options.modelKey, this.setup(this.options);
8931
8949
  }
8932
8950
  initFromItemKeys(e, t) {
8933
8951
  const r = /* @__PURE__ */ new Map();
@@ -8959,20 +8977,20 @@ These attributes will default to Step 1 processing which may be incorrect. This
8959
8977
  * cached result — while lists nobody reads pay no eager recompute.
8960
8978
  */
8961
8979
  invalidate() {
8962
- this.catalog && this.catalog.filter.resetCache();
8980
+ this.catalog && (this.ownsIndicesController && this.catalog.filter.indicesController.reset(), this.catalog.filter.resetCache());
8963
8981
  }
8964
8982
  on(e) {
8965
8983
  return this.cdRef.on(e);
8966
8984
  }
8967
8985
  };
8968
- k$2([
8986
+ M$1([
8969
8987
  Eu({
8970
8988
  scope: "list",
8971
8989
  type: "list_destroyed",
8972
8990
  connectMessage: true
8973
8991
  })
8974
8992
  ], E$1.prototype, "_destroy");
8975
- k$2([
8993
+ M$1([
8976
8994
  Eu({
8977
8995
  scope: "list",
8978
8996
  type: "list_updated",
@@ -8980,12 +8998,12 @@ These attributes will default to Step 1 processing which may be incorrect. This
8980
8998
  connectMessage: true
8981
8999
  })
8982
9000
  ], E$1.prototype, "update");
8983
- var Z$2 = Object.defineProperty, H = Object.getOwnPropertyDescriptor, J$1 = (u, e, t, r) => {
8984
- for (var s = H(e, t), o = u.length - 1, i; o >= 0; o--)
8985
- (i = u[o]) && (s = i(e, t, s) || s);
8986
- return s && Z$2(e, t, s), s;
9001
+ var N$1 = Object.defineProperty, Z$2 = Object.getOwnPropertyDescriptor, H = (d, e, t, r) => {
9002
+ for (var s = Z$2(e, t), o = d.length - 1, i; o >= 0; o--)
9003
+ (i = d[o]) && (s = i(e, t, s) || s);
9004
+ return s && N$1(e, t, s), s;
8987
9005
  };
8988
- class C {
9006
+ let P$1 = class P {
8989
9007
  constructor(e, t) {
8990
9008
  this.dcuplInstance = e, this.cdRef = t;
8991
9009
  }
@@ -9019,15 +9037,15 @@ These attributes will default to Step 1 processing which may be incorrect. This
9019
9037
  const r = new E$1(this.dcuplInstance, t);
9020
9038
  return r.init(e), this.lists.push(r), r;
9021
9039
  }
9022
- }
9023
- J$1([
9040
+ };
9041
+ H([
9024
9042
  Eu({
9025
9043
  scope: "global",
9026
9044
  type: "list_created",
9027
9045
  connectMessage: true
9028
9046
  })
9029
- ], C.prototype, "create");
9030
- let Y$2 = class Y {
9047
+ ], P$1.prototype, "create");
9048
+ let J$1 = class J {
9031
9049
  constructor(e) {
9032
9050
  this.scriptsController = e;
9033
9051
  }
@@ -9162,48 +9180,48 @@ These attributes will default to Step 1 processing which may be incorrect. This
9162
9180
  if (r) {
9163
9181
  const o = r.coercionFailureSamples ?? {};
9164
9182
  for (const i of Object.keys(o)) {
9165
- const l = o[i];
9166
- if (!l || l.count <= 0)
9183
+ const n = o[i];
9184
+ if (!n || n.count <= 0)
9167
9185
  continue;
9168
- for (const a of this.getModelErrors(s))
9169
- a.attribute === i && a.itemKey != null && (a.errorType === "UndefinedValue" || a.errorType === "WrongDataType") && this.removeError(a.key);
9170
- const n = e.properties.get(i)?.type ?? l.expected;
9171
- this.setError(this.buildColumnCoercionError(s, i, l.rawValue, n, l.count));
9186
+ for (const l of this.getModelErrors(s))
9187
+ l.attribute === i && l.itemKey != null && (l.errorType === "UndefinedValue" || l.errorType === "WrongDataType") && this.removeError(l.key);
9188
+ const a = e.properties.get(i)?.type ?? n.expected;
9189
+ this.setError(this.buildColumnCoercionError(s, i, n.rawValue, a, n.count));
9172
9190
  }
9173
9191
  for (const [i] of e.properties) {
9174
9192
  if (o[i] || r.sourceColumns.includes(i))
9175
9193
  continue;
9176
- const l = this.getGroupCount(s, i, "UndefinedValue");
9177
- if (l > 0 && l === t.data.length) {
9178
- for (const n of this.getModelErrors(s))
9179
- n.attribute === i && n.itemKey != null && n.errorType === "UndefinedValue" && this.removeError(n.key);
9194
+ const n = this.getGroupCount(s, i, "UndefinedValue");
9195
+ if (n > 0 && n === t.data.length) {
9196
+ for (const a of this.getModelErrors(s))
9197
+ a.attribute === i && a.itemKey != null && a.errorType === "UndefinedValue" && this.removeError(a.key);
9180
9198
  this.setError(this.buildAbsentColumnError(s, i));
9181
9199
  }
9182
9200
  }
9183
9201
  } else {
9184
9202
  const o = new Set(
9185
- this.getModelErrors(s).filter((n) => n.errorType === "UndefinedValue" && n.attribute != null).map((n) => n.attribute)
9203
+ this.getModelErrors(s).filter((a) => a.errorType === "UndefinedValue" && a.attribute != null).map((a) => a.attribute)
9186
9204
  );
9187
- for (const n of o) {
9188
- const a = this.getGroupCount(s, n, "UndefinedValue");
9189
- if (a > 0 && a === t.data.length) {
9190
- for (const d of this.getModelErrors(s))
9191
- d.attribute === n && d.itemKey != null && d.errorType === "UndefinedValue" && this.removeError(d.key);
9192
- this.setError(this.buildAbsentColumnError(s, n));
9205
+ for (const a of o) {
9206
+ const l = this.getGroupCount(s, a, "UndefinedValue");
9207
+ if (l > 0 && l === t.data.length) {
9208
+ for (const u of this.getModelErrors(s))
9209
+ u.attribute === a && u.itemKey != null && u.errorType === "UndefinedValue" && this.removeError(u.key);
9210
+ this.setError(this.buildAbsentColumnError(s, a));
9193
9211
  }
9194
9212
  }
9195
9213
  const i = this.getModelErrors(s).filter(
9196
- (n) => n.errorType === "WrongDataType" && n.errorGroup === "PropertyDataError" && n.title === "Wrong Data Type" && n.itemKey != null
9197
- ), l = We$1(i, "attribute");
9198
- for (const n in l) {
9199
- const a = l[n];
9200
- if (!a?.length)
9214
+ (a) => a.errorType === "WrongDataType" && a.errorGroup === "PropertyDataError" && a.title === "Wrong Data Type" && a.itemKey != null
9215
+ ), n = We$1(i, "attribute");
9216
+ for (const a in n) {
9217
+ const l = n[a];
9218
+ if (!l?.length)
9201
9219
  continue;
9202
- const d = a[0].meta, y2 = e.properties.get(n)?.type ?? d?.expected ?? "unknown";
9203
- for (const f of a)
9220
+ const u = l[0].meta, h = e.properties.get(a)?.type ?? u?.expected ?? "unknown";
9221
+ for (const f of l)
9204
9222
  this.removeError(f.key);
9205
9223
  this.setError(
9206
- this.buildColumnCoercionError(s, n, String(d?.rawValue ?? ""), y2, a.length)
9224
+ this.buildColumnCoercionError(s, a, String(u?.rawValue ?? ""), h, l.length)
9207
9225
  );
9208
9226
  }
9209
9227
  }
@@ -9250,12 +9268,12 @@ These attributes will default to Step 1 processing which may be incorrect. This
9250
9268
  cleanUpErrorsForItems(e, t, r, s) {
9251
9269
  let o, i;
9252
9270
  typeof r == "string" ? i = r : r instanceof Set && (o = r, i = s);
9253
- const l = this.getModelErrors(e.key), n = i ? l.filter((a) => a.errorType === i) : l;
9254
- for (const a of n)
9255
- if (a.itemKey && t.has(a.itemKey)) {
9256
- if (o && a.attribute && !o.has(a.attribute))
9271
+ const n = this.getModelErrors(e.key), a = i ? n.filter((l) => l.errorType === i) : n;
9272
+ for (const l of a)
9273
+ if (l.itemKey && t.has(l.itemKey)) {
9274
+ if (o && l.attribute && !o.has(l.attribute))
9257
9275
  continue;
9258
- this.removeError(a.key);
9276
+ this.removeError(l.key);
9259
9277
  }
9260
9278
  }
9261
9279
  /**
@@ -9278,18 +9296,18 @@ These attributes will default to Step 1 processing which may be incorrect. This
9278
9296
  if (!e)
9279
9297
  return [];
9280
9298
  const s = [], o = e.getData(), i = e.getAttributes();
9281
- for (const l of i) {
9282
- if (!r.has(l.key))
9299
+ for (const n of i) {
9300
+ if (!r.has(n.key))
9283
9301
  continue;
9284
- const n = l.quality?.validators;
9285
- if (n)
9286
- for (const a of t) {
9287
- const d = o.get(a);
9288
- if (!d)
9302
+ const a = n.quality?.validators;
9303
+ if (a)
9304
+ for (const l of t) {
9305
+ const u = o.get(l);
9306
+ if (!u)
9289
9307
  continue;
9290
- const y2 = d[l.key], f = this.validateAttribute(y2, n, l.key);
9308
+ const h = u[n.key], f = this.validateAttribute(h, a, n.key);
9291
9309
  for (const g2 of f)
9292
- g2.model = e.key, g2.itemKey = d.key, s.push(g2);
9310
+ g2.model = e.key, g2.itemKey = u.key, s.push(g2);
9293
9311
  }
9294
9312
  }
9295
9313
  return s;
@@ -9430,10 +9448,10 @@ These attributes will default to Step 1 processing which may be incorrect. This
9430
9448
  const o = this.dcupl.modelParser.models.get(s);
9431
9449
  if (!o)
9432
9450
  return;
9433
- const i = o?.getBasicProperties() || [], l = o?.getBasicReferences() || [], n = i.length + l.length;
9434
- t += n;
9435
- const d = o.data?.size || 0;
9436
- e += d, r += n * d;
9451
+ const i = o?.getBasicProperties() || [], n = o?.getBasicReferences() || [], a = i.length + n.length;
9452
+ t += a;
9453
+ const u = o.data?.size || 0;
9454
+ e += u, r += a * u;
9437
9455
  }), this.values.counts.rows = e, this.values.counts.attributes = t, this.values.counts.dataEntries = r;
9438
9456
  }
9439
9457
  calculateTiming() {
@@ -9469,16 +9487,16 @@ These attributes will default to Step 1 processing which may be incorrect. This
9469
9487
  calculateSizesForModels() {
9470
9488
  const t = this.dcupl.analyticsController.getByType("resource").filter((o) => o.value?.type === "data"), r = We$1(t, (o) => o.value?.model);
9471
9489
  return Object.keys(r).map((o) => {
9472
- const i = r[o]?.reduce((n, a) => {
9473
- const d = a.value.encodedBodySize;
9474
- return n + d;
9475
- }, 0), l = r[o]?.reduce((n, a) => {
9476
- const d = a.value.decodedBodySize;
9477
- return n + d;
9490
+ const i = r[o]?.reduce((a, l) => {
9491
+ const u = l.value.encodedBodySize;
9492
+ return a + u;
9493
+ }, 0), n = r[o]?.reduce((a, l) => {
9494
+ const u = l.value.decodedBodySize;
9495
+ return a + u;
9478
9496
  }, 0);
9479
9497
  return {
9480
9498
  model: o,
9481
- decodedBodySize: l,
9499
+ decodedBodySize: n,
9482
9500
  encodedBodySize: i
9483
9501
  };
9484
9502
  });
@@ -9487,7 +9505,7 @@ These attributes will default to Step 1 processing which may be incorrect. This
9487
9505
  const e = this.dcupl.models.keys();
9488
9506
  let t = 0;
9489
9507
  return e.forEach((r) => {
9490
- const s = this.dcupl.modelParser.unprocessedData.find((l) => l.model === r)?.data || [], o = this.getUnusedAttributesFromModel(this.dcupl, r);
9508
+ const s = this.dcupl.modelParser.unprocessedData.find((n) => n.model === r)?.data || [], o = this.getUnusedAttributesFromModel(this.dcupl, r);
9491
9509
  if (!o.length)
9492
9510
  return;
9493
9511
  const i = this.getDataWithAttributes(s, o);
@@ -9503,10 +9521,10 @@ These attributes will default to Step 1 processing which may be incorrect. This
9503
9521
  });
9504
9522
  }
9505
9523
  getUnusedAttributesFromModel(e, t) {
9506
- const r = e.modelParser.models.get(t), s = r?.getBasicProperties() || [], o = r?.getBasicReferences() || [], i = r?.keyProperty, l = [...s, ...o].map((a) => a.key);
9507
- typeof i == "string" ? l.push(i) : Array.isArray(i) ? l.push(...i) : l.push("key"), l.push("key");
9508
- const n = e.modelParser.unprocessedData.find((a) => a.model === t)?.data || [];
9509
- return this.getUnusedAttributes(n, l);
9524
+ const r = e.modelParser.models.get(t), s = r?.getBasicProperties() || [], o = r?.getBasicReferences() || [], i = r?.keyProperty, n = [...s, ...o].map((l) => l.key);
9525
+ typeof i == "string" ? n.push(i) : Array.isArray(i) ? n.push(...i) : n.push("key"), n.push("key");
9526
+ const a = e.modelParser.unprocessedData.find((l) => l.model === t)?.data || [];
9527
+ return this.getUnusedAttributes(a, n);
9510
9528
  }
9511
9529
  getUnusedAttributes(e, t) {
9512
9530
  const r = /* @__PURE__ */ new Set();
@@ -9567,30 +9585,30 @@ These attributes will default to Step 1 processing which may be incorrect. This
9567
9585
  for (const o of t) {
9568
9586
  const i = o.quality?.validators;
9569
9587
  if (i && i.unique) {
9570
- const l = this.validateUnique(r, o.key, e);
9571
- s.push(...l);
9588
+ const n = this.validateUnique(r, o.key, e);
9589
+ s.push(...n);
9572
9590
  }
9573
9591
  }
9574
9592
  return s;
9575
9593
  }
9576
9594
  validateUnique(e, t, r) {
9577
- const s = [], o = /* @__PURE__ */ new Set(), l = r.attributeQualityConfigs?.get(t)?.validatorHandling !== "loose";
9578
- for (const n of e) {
9579
- const a = n[t];
9580
- if (o.has(a)) {
9581
- const d = {
9595
+ const s = [], o = /* @__PURE__ */ new Set(), n = r.attributeQualityConfigs?.get(t)?.validatorHandling !== "loose";
9596
+ for (const a of e) {
9597
+ const l = a[t];
9598
+ if (o.has(l)) {
9599
+ const u = {
9582
9600
  title: "Validator Error - Unique",
9583
9601
  type: "model",
9584
9602
  errorGroup: "PropertyDataError",
9585
9603
  model: r.key,
9586
9604
  errorType: "InvalidValidator",
9587
9605
  attribute: t,
9588
- itemKey: n.key,
9589
- description: `The value "${a}" is not unique`
9606
+ itemKey: a.key,
9607
+ description: `The value "${l}" is not unique`
9590
9608
  };
9591
- s.push(d), l && delete n[t];
9609
+ s.push(u), n && delete a[t];
9592
9610
  } else
9593
- o.add(a);
9611
+ o.add(l);
9594
9612
  }
9595
9613
  return s;
9596
9614
  }
@@ -9675,7 +9693,7 @@ These attributes will default to Step 1 processing which may be incorrect. This
9675
9693
  };
9676
9694
  }
9677
9695
  validateIncludes(e, t, r) {
9678
- if (e != null && !Q$2(e, t.value))
9696
+ if (e != null && !W$1(e, t.value))
9679
9697
  return {
9680
9698
  title: "Validator Error - Includes",
9681
9699
  type: "model",
@@ -9735,21 +9753,20 @@ These attributes will default to Step 1 processing which may be incorrect. This
9735
9753
  }
9736
9754
  }
9737
9755
  };
9738
- var X$1 = Object.defineProperty, ee$1 = Object.getOwnPropertyDescriptor, h = (u, e, t, r) => {
9739
- for (var s = ee$1(e, t), o = u.length - 1, i; o >= 0; o--)
9740
- (i = u[o]) && (s = i(e, t, s) || s);
9741
- return s && X$1(e, t, s), s;
9756
+ var Y$2 = Object.defineProperty, X$1 = Object.getOwnPropertyDescriptor, y = (d, e, t, r) => {
9757
+ for (var s = X$1(e, t), o = d.length - 1, i; o >= 0; o--)
9758
+ (i = d[o]) && (s = i(e, t, s) || s);
9759
+ return s && Y$2(e, t, s), s;
9742
9760
  };
9743
9761
  let p$1 = class p {
9744
9762
  cdRef = new Iu();
9745
9763
  analyticsController = new Mu();
9746
9764
  containerSourceMetadata = /* @__PURE__ */ new WeakMap();
9747
9765
  scriptController = new Ru();
9748
- qualityController = new Y$2(this.scriptController);
9766
+ qualityController = new J$1(this.scriptController);
9749
9767
  log = Wa.child({ prefix: "Dcupl" });
9750
- modelParser = new M$1(this.cdRef, this.qualityController, this);
9768
+ modelParser = new M$2(this.cdRef, this.qualityController, this);
9751
9769
  globalItemService = new K$3(this.modelParser, this.scriptController);
9752
- cacheCtrl = new Du(false);
9753
9770
  queryManager = new Ku(
9754
9771
  this.scriptController,
9755
9772
  this.globalItemService,
@@ -9780,7 +9797,6 @@ These attributes will default to Step 1 processing which may be incorrect. This
9780
9797
  partialUpdates: {
9781
9798
  modelRatioThreshold: 0.5,
9782
9799
  itemRatioThreshold: 0.5,
9783
- cacheInvalidationThreshold: 0.7,
9784
9800
  enableDetailedLogging: false
9785
9801
  },
9786
9802
  autoUpdateLists: {
@@ -9792,7 +9808,7 @@ These attributes will default to Step 1 processing which may be incorrect. This
9792
9808
  }
9793
9809
  };
9794
9810
  initOptions;
9795
- lists = new C(this, this.cdRef);
9811
+ lists = new P$1(this, this.cdRef);
9796
9812
  busy = false;
9797
9813
  // Tracks if the class is busy
9798
9814
  updateQueue = [];
@@ -9802,7 +9818,7 @@ These attributes will default to Step 1 processing which may be incorrect. This
9802
9818
  cdRefKey: "root",
9803
9819
  dcuplInitOptions: this.initOptions,
9804
9820
  analyticsController: this.analyticsController
9805
- }), this.cacheCtrl.enabled = !!this.initOptions.performance?.cache?.enabled;
9821
+ });
9806
9822
  }
9807
9823
  models = {
9808
9824
  get: (e) => this.modelParser.models.get(e)?.getModelDefinition(),
@@ -9961,6 +9977,33 @@ These attributes will default to Step 1 processing which may be incorrect. This
9961
9977
  listKey: `__global_list__${e.modelKey}`
9962
9978
  })), e.query ? t.catalog.query.apply(e.query, { mode: "set" }) : t.catalog.query.reset(), t;
9963
9979
  }
9980
+ /**
9981
+ * Snapshots the pending changes as one `model → changed attribute keys` map
9982
+ * before the parser clears the tracker. Every effectively changed model is a
9983
+ * key: a full reset (data.set) records no attribute changes and a deletion
9984
+ * records its attribute changes only later, inside the parser, so both
9985
+ * expand to all of the model's property and reference keys — which is what
9986
+ * the parser itself treats as changed for them. Returns null when nothing
9987
+ * is pending (a plain full rebuild).
9988
+ */
9989
+ snapshotChangedAttributes() {
9990
+ const e = this.modelParser.changeTracker;
9991
+ if (!e.hasChanges())
9992
+ return null;
9993
+ const t = e.getChangedAttributes(), r = /* @__PURE__ */ new Map();
9994
+ for (const s of e.getEffectivelyChangedModels()) {
9995
+ const o = new Set(t.get(s) ?? []);
9996
+ if (o.size === 0) {
9997
+ const i = this.modelParser.models.get(s);
9998
+ for (const n of i?.properties.keys() ?? [])
9999
+ o.add(n);
10000
+ for (const n of i?.references.keys() ?? [])
10001
+ o.add(n);
10002
+ }
10003
+ r.set(s, o);
10004
+ }
10005
+ return r;
10006
+ }
9964
10007
  /**
9965
10008
  * Gets all models that are affected by changes to the specified models/attributes.
9966
10009
  * Includes the changed models themselves, models that (transitively) reference
@@ -9976,12 +10019,9 @@ These attributes will default to Step 1 processing which may be incorrect. This
9976
10019
  const s = this.modelParser.attributeDependencyGraph;
9977
10020
  if (s) {
9978
10021
  const o = [];
9979
- for (const [i, l] of e)
9980
- if (l.size > 0)
9981
- for (const n of l)
9982
- o.push({ modelKey: i, attributeKey: n, type: "property", processingStep: 1 });
9983
- else
9984
- o.push(...s.getAttributesForModel(i));
10022
+ for (const [i, n] of e)
10023
+ for (const a of n)
10024
+ o.push({ modelKey: i, attributeKey: a, type: "property", processingStep: 1 });
9985
10025
  for (const i of s.getImpactedAttributes(o))
9986
10026
  t.add(i.modelKey);
9987
10027
  }
@@ -10049,54 +10089,25 @@ These attributes will default to Step 1 processing which may be incorrect. This
10049
10089
  }
10050
10090
  async init() {
10051
10091
  try {
10052
- return await this.performUpdate(() => this.modelParser.init()), this.cacheCtrl.clear(), this.updateFnLists(null), true;
10092
+ return await this.performUpdate(() => this.modelParser.init()), this.updateFnLists(null), true;
10053
10093
  } catch (e) {
10054
10094
  return this.log.error("Initialization failed", e), false;
10055
10095
  }
10056
10096
  }
10057
10097
  async update(e) {
10058
10098
  try {
10059
- const t = this.modelParser.changeTracker, r = t.hasChanges(), s = r ? new Map(t.getChangedAttributes()) : null, o = r ? new Set(t.getModelsWithFullReset()) : null, i = r ? new Set(t.getModelsWithChanges()) : null, l = r ? t.getTotalChangedItemCount() : 0, n = this.cacheCtrl.getStats();
10060
- if (await this.performUpdate(() => this.modelParser.update()), r && this.cacheCtrl.enabled && s) {
10061
- const a = this.modelParser.getTotalItemCount(), d = l, y2 = a > 0 ? d / a : 0, f = this.initOptions.performance?.partialUpdates?.cacheInvalidationThreshold ?? 0.7, g2 = this.initOptions.performance?.partialUpdates?.enableDetailedLogging ?? false;
10062
- o && o.size > 0 ? (g2 && this.log.debug("Cache invalidation: Full clear", { reason: "full_reset_detected" }), this.cacheCtrl.clear()) : y2 > f ? (g2 && this.log.debug("Cache invalidation: Full clear", {
10063
- reason: "high_item_ratio",
10064
- ratio: y2.toFixed(2),
10065
- threshold: f,
10066
- changedItems: d,
10067
- totalItems: a
10068
- }), this.cacheCtrl.clear()) : (g2 && this.log.debug("Cache invalidation: Selective", {
10069
- changedItems: d,
10070
- totalItems: a,
10071
- ratio: y2.toFixed(2)
10072
- }), this.cacheCtrl.invalidateByDependencies(s));
10073
- } else
10074
- (this.initOptions.performance?.partialUpdates?.enableDetailedLogging ?? false) && this.log.debug("Cache invalidation: Full clear", { reason: "full_update" }), this.cacheCtrl.clear();
10075
- if (this.cacheCtrl.getStats) {
10076
- const a = this.cacheCtrl.getStats(), d = this.modelParser.partialUpdateMetrics.getLastUpdates(1);
10077
- if (d.length > 0 && d[0]) {
10078
- const y2 = d[0];
10079
- y2.cacheStats = {
10080
- entriesInvalidated: n.totalEntries - a.totalEntries,
10081
- totalEntries: n.totalEntries
10082
- };
10083
- }
10084
- }
10085
- if (r && s) {
10086
- const a = new Map(s);
10087
- for (const y2 of [i, o])
10088
- for (const f of y2 ?? [])
10089
- a.has(f) || a.set(f, /* @__PURE__ */ new Set());
10090
- const d = {
10099
+ const t = this.snapshotChangedAttributes();
10100
+ if (await this.performUpdate(() => this.modelParser.update()), t) {
10101
+ const r = {
10091
10102
  isPartialUpdate: true,
10092
- changedModels: Array.from(a.keys()),
10093
- changedAttributes: s,
10094
- affectedModels: this.getAffectedModels(a)
10103
+ changedModels: Array.from(t.keys()),
10104
+ changedAttributes: t,
10105
+ affectedModels: this.getAffectedModels(t)
10095
10106
  };
10096
- this.updateFnLists(d, e?.autoUpdateLists), this.cdRef.trigger({
10107
+ this.updateFnLists(r, e?.autoUpdateLists), this.cdRef.trigger({
10097
10108
  scope: "global",
10098
10109
  type: "dcupl_partial_update",
10099
- args: [d]
10110
+ args: [r]
10100
10111
  });
10101
10112
  } else
10102
10113
  this.updateFnLists(null, e?.autoUpdateLists);
@@ -10166,7 +10177,7 @@ These attributes will default to Step 1 processing which may be incorrect. This
10166
10177
  }
10167
10178
  }
10168
10179
  };
10169
- h([
10180
+ y([
10170
10181
  Eu({
10171
10182
  scope: "global",
10172
10183
  type: "fn_pivot",
@@ -10175,7 +10186,7 @@ These attributes will default to Step 1 processing which may be incorrect. This
10175
10186
  connectMessageResult: true
10176
10187
  })
10177
10188
  ], p$1.prototype, "_pivot");
10178
- h([
10189
+ y([
10179
10190
  Eu({
10180
10191
  scope: "global",
10181
10192
  type: "fn_aggregate",
@@ -10184,7 +10195,7 @@ These attributes will default to Step 1 processing which may be incorrect. This
10184
10195
  connectMessageResult: true
10185
10196
  })
10186
10197
  ], p$1.prototype, "_aggregate");
10187
- h([
10198
+ y([
10188
10199
  Eu({
10189
10200
  scope: "global",
10190
10201
  type: "fn_suggest",
@@ -10193,7 +10204,7 @@ These attributes will default to Step 1 processing which may be incorrect. This
10193
10204
  connectMessageResult: true
10194
10205
  })
10195
10206
  ], p$1.prototype, "_suggest");
10196
- h([
10207
+ y([
10197
10208
  Eu({
10198
10209
  scope: "global",
10199
10210
  type: "fn_groupBy",
@@ -10202,7 +10213,7 @@ These attributes will default to Step 1 processing which may be incorrect. This
10202
10213
  connectMessageResult: true
10203
10214
  })
10204
10215
  ], p$1.prototype, "_groupBy");
10205
- h([
10216
+ y([
10206
10217
  Eu({
10207
10218
  scope: "global",
10208
10219
  type: "fn_facets",
@@ -10211,7 +10222,7 @@ These attributes will default to Step 1 processing which may be incorrect. This
10211
10222
  connectMessageResult: true
10212
10223
  })
10213
10224
  ], p$1.prototype, "_facets");
10214
- h([
10225
+ y([
10215
10226
  Eu({
10216
10227
  scope: "global",
10217
10228
  type: "fn_metadata",
@@ -10220,14 +10231,14 @@ These attributes will default to Step 1 processing which may be incorrect. This
10220
10231
  connectMessageResult: true
10221
10232
  })
10222
10233
  ], p$1.prototype, "_metadata");
10223
- h([
10234
+ y([
10224
10235
  Eu({
10225
10236
  scope: "global",
10226
10237
  type: "dcupl_initialized",
10227
10238
  connectMessage: true
10228
10239
  })
10229
10240
  ], p$1.prototype, "init");
10230
- h([
10241
+ y([
10231
10242
  Eu({
10232
10243
  scope: "global",
10233
10244
  type: "dcupl_updated_manually",
@@ -10235,14 +10246,14 @@ These attributes will default to Step 1 processing which may be incorrect. This
10235
10246
  connectMessage: true
10236
10247
  })
10237
10248
  ], p$1.prototype, "update");
10238
- h([
10249
+ y([
10239
10250
  Eu({
10240
10251
  scope: "global",
10241
10252
  type: "dcupl_destroyed",
10242
10253
  connectMessage: true
10243
10254
  })
10244
10255
  ], p$1.prototype, "destroy");
10245
- h([
10256
+ y([
10246
10257
  Eu({
10247
10258
  scope: "global",
10248
10259
  type: "query_one",
@@ -10251,7 +10262,7 @@ These attributes will default to Step 1 processing which may be incorrect. This
10251
10262
  connectMessageResult: true
10252
10263
  })
10253
10264
  ], p$1.prototype, "getItem");
10254
- h([
10265
+ y([
10255
10266
  Eu({
10256
10267
  scope: "global",
10257
10268
  type: "query_many",
@@ -10260,7 +10271,7 @@ These attributes will default to Step 1 processing which may be incorrect. This
10260
10271
  connectMessageResult: true
10261
10272
  })
10262
10273
  ], p$1.prototype, "_getManyItems");
10263
- h([
10274
+ y([
10264
10275
  Eu({
10265
10276
  scope: "global",
10266
10277
  type: "query_execute",
@@ -10269,14 +10280,14 @@ These attributes will default to Step 1 processing which may be incorrect. This
10269
10280
  connectMessageResult: true
10270
10281
  })
10271
10282
  ], p$1.prototype, "executeQuery");
10272
- h([
10283
+ y([
10273
10284
  Eu({
10274
10285
  scope: "global",
10275
10286
  type: "loader_removed",
10276
10287
  connectMessage: true
10277
10288
  })
10278
10289
  ], p$1.prototype, "removeLoader");
10279
- let oe$1 = class oe extends p$1 {
10290
+ let se$1 = class se extends p$1 {
10280
10291
  version = "2.0.0-beta.6";
10281
10292
  constructor(e) {
10282
10293
  super(e);
@@ -11392,7 +11403,7 @@ These attributes will default to Step 1 processing which may be incorrect. This
11392
11403
  const l = this.model?.key;
11393
11404
  !u.originCdRefKey && c.key && (u.originCdRefKey = c.key), l && (u.modelKey = l);
11394
11405
  const d = i.apply(this, o);
11395
- return u.method = r, u.args = o, d && typeof d == "object" && "then" in d ? d.then((h2) => T$1(this, c, u, a, f, h2)) : T$1(this, c, u, a, f, d);
11406
+ return u.method = r, u.args = o, d && typeof d == "object" && "then" in d ? d.then((h) => T$1(this, c, u, a, f, h)) : T$1(this, c, u, a, f, d);
11396
11407
  }, s;
11397
11408
  };
11398
11409
  const Oe$1 = "k:", qe$1 = "h:";
@@ -11434,19 +11445,19 @@ These attributes will default to Step 1 processing which may be incorrect. This
11434
11445
  transformHeader: u,
11435
11446
  transform: g2
11436
11447
  } = r, y2 = [], m = c ? [] : null;
11437
- let d = e.length, f = [], l = "", b2 = false, C2 = true, h2 = 0;
11448
+ let d = e.length, f = [], l = "", b2 = false, C2 = true, h = 0;
11438
11449
  if (i) {
11439
- for (; h2 < d && (e[h2] === `
11440
- ` || e[h2] === "\r" || e[h2] === "" || e[h2] === "'" || e[h2] === '"'); )
11441
- h2++;
11442
- e = e.slice(h2), d = e.length, h2 = 0;
11450
+ for (; h < d && (e[h] === `
11451
+ ` || e[h] === "\r" || e[h] === "" || e[h] === "'" || e[h] === '"'); )
11452
+ h++;
11453
+ e = e.slice(h), d = e.length, h = 0;
11443
11454
  }
11444
11455
  const P2 = r.delimiter || this.detectDelimiter(e);
11445
- for (; h2 < d; h2++) {
11446
- const p2 = e[h2], _2 = e[h2 + 1];
11456
+ for (; h < d; h++) {
11457
+ const p2 = e[h], _2 = e[h + 1];
11447
11458
  if (s && p2 === s && !b2 && l.length === 0) {
11448
- for (; h2 < d && e[h2] !== `
11449
- `; ) h2++;
11459
+ for (; h < d && e[h] !== `
11460
+ `; ) h++;
11450
11461
  continue;
11451
11462
  }
11452
11463
  if (p2 === `
@@ -11455,17 +11466,17 @@ These attributes will default to Step 1 processing which may be incorrect. This
11455
11466
  if (b2)
11456
11467
  l += p2;
11457
11468
  else {
11458
- (l.length > 0 || !i) && f.push(l), C2 && m ? f.forEach((I2) => m.push(u ? u(I2) : I2)) : m ? y2.push(this.buildObjectRow(m, f, o, g2)) : y2.push([...f]), f = [], l = "", C2 = false, h2 += p2 === "\r" && _2 === `
11469
+ (l.length > 0 || !i) && f.push(l), C2 && m ? f.forEach((I2) => m.push(u ? u(I2) : I2)) : m ? y2.push(this.buildObjectRow(m, f, o, g2)) : y2.push([...f]), f = [], l = "", C2 = false, h += p2 === "\r" && _2 === `
11459
11470
  ` ? 1 : 0;
11460
11471
  continue;
11461
11472
  }
11462
11473
  else if (p2 === P2 && !b2)
11463
11474
  f.push(l), l = "";
11464
11475
  else if (p2 === n)
11465
- b2 ? _2 === a ? (l += n, h2++) : b2 = false : l.length === 0 ? b2 = true : l += p2;
11476
+ b2 ? _2 === a ? (l += n, h++) : b2 = false : l.length === 0 ? b2 = true : l += p2;
11466
11477
  else if ((b2 || l.length === 0) && (p2 === "{" || p2 === "[")) {
11467
- const I2 = this.extractJson(e, h2, P2);
11468
- l += I2.value, h2 += I2.length - 1;
11478
+ const I2 = this.extractJson(e, h, P2);
11479
+ l += I2.value, h += I2.length - 1;
11469
11480
  } else
11470
11481
  l += p2;
11471
11482
  }
@@ -11572,8 +11583,8 @@ These attributes will default to Step 1 processing which may be incorrect. This
11572
11583
  return;
11573
11584
  const _2 = a[b2];
11574
11585
  _2 ? _2.count += 1 : a[b2] = { rawValue: l, expected: p2, count: 1 };
11575
- }, h2 = u.get(b2);
11576
- if (h2)
11586
+ }, h = u.get(b2);
11587
+ if (h)
11577
11588
  if (l[0] === "{" || l[0] === "[")
11578
11589
  try {
11579
11590
  return JSON.parse(l);
@@ -11581,7 +11592,7 @@ These attributes will default to Step 1 processing which may be incorrect. This
11581
11592
  c.error("Failed to parse JSON in CSV reference field", p2, { header: b2, value: l });
11582
11593
  return;
11583
11594
  }
11584
- else return h2.type === "singleValued" ? l : l?.length > 0 && h2.type === "multiValued" ? ye(l, h2?.separator) : l;
11595
+ else return h.type === "singleValued" ? l : l?.length > 0 && h.type === "multiValued" ? ye(l, h?.separator) : l;
11585
11596
  const P2 = g2.get(b2);
11586
11597
  if (!(!e.autoGenerateProperties && !P2))
11587
11598
  switch (P2?.type) {
@@ -12978,9 +12989,9 @@ These attributes will default to Step 1 processing which may be incorrect. This
12978
12989
  const p2 = this.progressHandler.update(o, false, "model", i);
12979
12990
  return this.updateProgressListeners(p2), Promise.resolve(null);
12980
12991
  }
12981
- const C2 = b$12.map((p2) => p2.key).join("__"), h2 = b.getEntriesByName(u.toString());
12982
- if (Array.isArray(h2) && h2[0]) {
12983
- const p2 = h2[0], _2 = {
12992
+ const C2 = b$12.map((p2) => p2.key).join("__"), h = b.getEntriesByName(u.toString());
12993
+ if (Array.isArray(h) && h[0]) {
12994
+ const p2 = h[0], _2 = {
12984
12995
  name: o.url,
12985
12996
  type: "resource",
12986
12997
  createdAt: (/* @__PURE__ */ new Date()).getTime(),
@@ -13045,10 +13056,10 @@ These attributes will default to Step 1 processing which may be incorrect. This
13045
13056
  if (m = l.status, !l.ok)
13046
13057
  throw new Error(`Failed to fetch data from ${d}`);
13047
13058
  const b$12 = l.headers.get("content-type"), C2 = b.now();
13048
- let h2;
13049
- i.url.endsWith(".csv") || b$12?.includes("text/csv") ? h2 = await l.text() : h2 = await l.json();
13059
+ let h;
13060
+ i.url.endsWith(".csv") || b$12?.includes("text/csv") ? h = await l.text() : h = await l.json();
13050
13061
  const P2 = b.now(), p2 = b.now(), _2 = this.handleTransformerLogic(
13051
- h2,
13062
+ h,
13052
13063
  i,
13053
13064
  "rawFileTransformer",
13054
13065
  o || []
@@ -13241,7 +13252,7 @@ These attributes will default to Step 1 processing which may be incorrect. This
13241
13252
  let dcupl;
13242
13253
  let loader;
13243
13254
  async function init(options) {
13244
- dcupl = new oe$1(options.options);
13255
+ dcupl = new se$1(options.options);
13245
13256
  loader = new Uo();
13246
13257
  dcupl.loaders.add(loader, "default");
13247
13258
  if (options.appLoaderConfig) {