@madronejs/core 1.1.2 → 1.1.5

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.
@@ -1,38 +1,38 @@
1
1
  const M = /* @__PURE__ */ new Set();
2
- let x;
3
- function ce() {
2
+ let Y;
3
+ function ie() {
4
4
  return [...M];
5
5
  }
6
- function ae() {
7
- return ce().at(-1);
6
+ function oe() {
7
+ return ie().at(-1);
8
8
  }
9
- function Y() {
10
- x = ae();
9
+ function $() {
10
+ Y = oe();
11
11
  }
12
- function He(e) {
13
- e && (M.add(e), Y());
12
+ function Ve(e) {
13
+ e && (M.add(e), $());
14
14
  }
15
- function Me(e) {
16
- M.delete(e), Y();
15
+ function Ne(e) {
16
+ M.delete(e), $();
17
17
  }
18
- function oe() {
19
- return x;
18
+ function ue() {
19
+ return Y;
20
20
  }
21
- const U = /* @__PURE__ */ new WeakMap();
22
- function $(e) {
23
- return (oe()?.toRaw ?? ((t) => t))(e);
21
+ const X = /* @__PURE__ */ new WeakMap();
22
+ function q(e) {
23
+ return (ue()?.toRaw ?? ((t) => t))(e);
24
24
  }
25
25
  function T(e) {
26
- U.set($(e), Date.now());
26
+ X.set(q(e), Date.now());
27
27
  }
28
- function De(e) {
29
- return U.get($(e));
28
+ function ge(e) {
29
+ return X.get(q(e));
30
30
  }
31
- const f = /* @__PURE__ */ Symbol("keys"), L = /* @__PURE__ */ Symbol("computed"), D = /* @__PURE__ */ new WeakMap(), V = /* @__PURE__ */ new WeakMap(), b = /* @__PURE__ */ new WeakMap(), C = /* @__PURE__ */ new WeakMap();
31
+ const f = /* @__PURE__ */ Symbol("keys"), W = /* @__PURE__ */ Symbol("computed"), V = /* @__PURE__ */ new WeakMap(), N = /* @__PURE__ */ new WeakMap(), b = /* @__PURE__ */ new WeakMap(), R = /* @__PURE__ */ new WeakMap();
32
32
  let I = [], _ = null;
33
- const ie = (e) => D.has(e), X = (e) => V.has(e), g = (e) => D.get(e), ue = (e) => V.get(e), fe = (e) => X(e) ? ue(e) : e, le = (e, n) => {
34
- D.set(e, n), V.set(n, e);
35
- }, de = () => {
33
+ const fe = (e) => V.has(e), K = (e) => N.has(e), g = (e) => V.get(e), le = (e) => N.get(e), de = (e) => K(e) ? le(e) : e, he = (e, n) => {
34
+ V.set(e, n), N.set(n, e);
35
+ }, me = () => {
36
36
  _ === null && (_ = /* @__PURE__ */ Symbol("scheduler"), queueMicrotask(() => {
37
37
  try {
38
38
  for (; I.length > 0; ) {
@@ -49,52 +49,55 @@ const ie = (e) => D.has(e), X = (e) => V.has(e), g = (e) => D.get(e), ue = (e) =
49
49
  _ = null;
50
50
  }
51
51
  }));
52
- }, he = (e) => {
53
- I.push(e), de();
54
- }, me = (e, n) => {
55
- const t = C.get(e), s = t?.get(n);
52
+ }, Se = (e) => {
53
+ I.push(e), me();
54
+ }, ve = (e, n) => {
55
+ const t = R.get(e), s = t?.get(n);
56
56
  if (s) {
57
57
  for (const r of s)
58
58
  b.get(r)?.get(n)?.delete(e);
59
- s.clear(), t.delete(n), t.size === 0 && C.delete(e);
59
+ s.clear(), t.delete(n), t.size === 0 && R.delete(e);
60
60
  }
61
- }, B = (e) => {
62
- const n = C.get(e);
61
+ }, x = (e) => {
62
+ const n = R.get(e);
63
63
  if (n) {
64
64
  for (const [t, s] of n)
65
65
  for (const r of s)
66
66
  b.get(r)?.get(t)?.delete(e);
67
- C.delete(e);
67
+ R.delete(e);
68
68
  }
69
- }, q = (e, n) => {
70
- const t = Se();
69
+ }, F = (e, n) => {
70
+ const t = we();
71
71
  if (!t) return;
72
- C.has(t) || C.set(t, /* @__PURE__ */ new Map()), b.has(e) || b.set(e, /* @__PURE__ */ new Map());
73
- const s = b.get(e), r = C.get(t);
72
+ R.has(t) || R.set(t, /* @__PURE__ */ new Map()), b.has(e) || b.set(e, /* @__PURE__ */ new Map());
73
+ const s = b.get(e), r = R.get(t);
74
74
  s.has(n) || s.set(n, /* @__PURE__ */ new Set()), r.has(n) || r.set(n, /* @__PURE__ */ new Set());
75
- const c = s.get(n), o = r.get(n);
76
- c.add(t), o.add(e);
75
+ const c = s.get(n), i = r.get(n);
76
+ c.add(t), i.add(e);
77
77
  }, h = (e, n) => {
78
78
  const t = g(e);
79
- t && q(t, n);
80
- }, F = (e, n) => {
79
+ t && F(t, n);
80
+ }, Q = (e, n) => {
81
81
  const t = b.get(e);
82
82
  if (t?.get(n))
83
83
  for (const s of t.get(n))
84
- s.setDirty(), me(s, n);
85
- }, S = (e, n) => {
86
- F(g(e), n);
87
- }, P = [];
88
- function Se() {
84
+ s.setDirty(), Re(s) || ve(s, n);
85
+ }, m = (e, n) => {
86
+ Q(g(e), n);
87
+ }, P = [], H = /* @__PURE__ */ new WeakSet();
88
+ function we() {
89
89
  return P.at(-1);
90
90
  }
91
- class N {
91
+ function Re(e) {
92
+ return H.has(e);
93
+ }
94
+ class j {
92
95
  /**
93
96
  * Factory method to create a new ObservableItem.
94
97
  * @internal
95
98
  */
96
99
  static create(...n) {
97
- return new N(...n);
100
+ return new j(...n);
98
101
  }
99
102
  /**
100
103
  * Creates a new ObservableItem.
@@ -116,21 +119,21 @@ class N {
116
119
  * @returns {void}
117
120
  */
118
121
  dispose() {
119
- B(this), this.alive = !1, this.dirty = !1, this.cachedVal = void 0, this.prev = void 0;
122
+ x(this), this.alive = !1, this.dirty = !1, this.cachedVal = void 0, this.prev = void 0;
120
123
  }
121
124
  wrap(n) {
122
- P.push(this);
125
+ P.push(this), H.add(this);
123
126
  try {
124
127
  return n();
125
128
  } finally {
126
- P.pop();
129
+ P.pop(), H.delete(this);
127
130
  }
128
131
  }
129
132
  setDirty() {
130
- this.alive && !this.dirty && (this.dirty = !0, F(this, L), this.prev = this.cachedVal, this.cachedVal = void 0, this.callHook(
133
+ this.alive && !this.dirty && (this.dirty = !0, Q(this, W), this.prev = this.cachedVal, this.cachedVal = void 0, this.callHook(
131
134
  "onImmediateChange"
132
135
  /* onImmediateChange */
133
- ), he(() => this.notifyChange()));
136
+ ), Se(() => this.notifyChange()));
134
137
  }
135
138
  notifyChange() {
136
139
  this.callHook(
@@ -142,7 +145,7 @@ class N {
142
145
  if (!this.alive) return;
143
146
  const n = this.wrap(() => {
144
147
  if (this.cache && this.dirty || !this.cache) {
145
- B(this);
148
+ x(this);
146
149
  try {
147
150
  this.cachedVal = this.get();
148
151
  } finally {
@@ -151,7 +154,7 @@ class N {
151
154
  }
152
155
  return this.cachedVal;
153
156
  });
154
- return q(this, L), this.callHook(
157
+ return F(this, W), this.callHook(
155
158
  "onGet"
156
159
  /* onGet */
157
160
  ), n;
@@ -170,11 +173,11 @@ class N {
170
173
  throw new TypeError(`No setter defined for "${this.name}"`);
171
174
  }
172
175
  }
173
- function K(...e) {
174
- return N.create(...e);
176
+ function J(...e) {
177
+ return j.create(...e);
175
178
  }
176
- function ve(e) {
177
- return K(e);
179
+ function Ce(e) {
180
+ return J(e);
178
181
  }
179
182
  const u = (e) => {
180
183
  const {
@@ -183,7 +186,7 @@ const u = (e) => {
183
186
  key: s,
184
187
  receiver: r,
185
188
  value: c,
186
- keysChanged: o = !1,
189
+ keysChanged: i = !1,
187
190
  valueChanged: l = !1
188
191
  } = e;
189
192
  return {
@@ -192,62 +195,62 @@ const u = (e) => {
192
195
  key: s,
193
196
  receiver: r,
194
197
  value: c,
195
- keysChanged: o,
198
+ keysChanged: i,
196
199
  valueChanged: l
197
200
  };
198
- }, we = (e, n, t, s) => {
201
+ }, be = (e, n, t, s) => {
199
202
  h(n, t), e?.onGet && e.onGet(u({
200
203
  name: e.name,
201
204
  target: n,
202
205
  key: t,
203
206
  receiver: s
204
207
  }));
205
- }, Ce = (e, n, t, s) => {
208
+ }, Oe = (e, n, t, s) => {
206
209
  const r = n[t], c = Array.isArray(n);
207
- let o = !1, l = !1;
208
- t in n || (S(n, f), l = !0, c && S(n, "length")), (r !== s || c) && (S(n, t), o = !0), (l || o) && e?.onSet && e.onSet(u({
210
+ let i = !1, l = !1;
211
+ t in n || (m(n, f), l = !0, c && m(n, "length")), (r !== s || c) && (m(n, t), i = !0), (l || i) && e?.onSet && e.onSet(u({
209
212
  name: e.name,
210
213
  target: n,
211
214
  key: t,
212
215
  value: s,
213
216
  keysChanged: l,
214
- valueChanged: o
217
+ valueChanged: i
215
218
  }));
216
- }, Re = (e, n, t) => {
217
- S(n, t), S(n, f), e?.onDelete && e.onDelete(u({
219
+ }, ye = (e, n, t) => {
220
+ m(n, t), m(n, f), e?.onDelete && e.onDelete(u({
218
221
  name: e.name,
219
222
  target: n,
220
223
  key: t,
221
224
  keysChanged: !0
222
225
  }));
223
- }, W = (e, n, t) => {
226
+ }, U = (e, n, t) => {
224
227
  h(n, f), e?.onHas && e.onHas(u({ name: e.name, target: n, key: t }));
225
228
  };
226
- function Q(e) {
229
+ function Z(e) {
227
230
  const n = e.needsProxy || (() => !0);
228
231
  return {
229
232
  get: (t, s, r) => {
230
- we(e, t, s, r);
233
+ be(e, t, s, r);
231
234
  const c = Reflect.get(t, s, r);
232
235
  return e?.deep && c && typeof c == "object" && n({ target: t, key: s, value: c }) && Object.getOwnPropertyDescriptor(t, s)?.configurable ? w(c, e) : c;
233
236
  },
234
- set: (t, s, r) => (Ce(e, t, s, r), Reflect.set(t, s, r)),
235
- deleteProperty: (...t) => (Re(e, ...t), Reflect.deleteProperty(...t)),
236
- has: (t, s) => (W(e, t), Reflect.has(t, s)),
237
- ownKeys: (t) => (W(e, t), Reflect.ownKeys(t)),
237
+ set: (t, s, r) => (Oe(e, t, s, r), Reflect.set(t, s, r)),
238
+ deleteProperty: (...t) => (ye(e, ...t), Reflect.deleteProperty(...t)),
239
+ has: (t, s) => (U(e, t), Reflect.has(t, s)),
240
+ ownKeys: (t) => (U(e, t), Reflect.ownKeys(t)),
238
241
  getPrototypeOf: (t) => Object.getPrototypeOf(t)
239
242
  };
240
243
  }
241
- const be = (e) => ({
242
- ...Q(e)
243
- }), Oe = (e) => ({
244
- ...Q(e)
244
+ const Ge = (e) => ({
245
+ ...Z(e)
246
+ }), Ie = (e) => ({
247
+ ...Z(e)
245
248
  }), v = (e, n) => n?.deep && e && typeof e == "object" ? w(e, n) : e;
246
249
  function* O(e, n, t) {
247
250
  for (const s of e)
248
251
  yield t(s);
249
252
  }
250
- const ye = (e) => ({
253
+ const Te = (e) => ({
251
254
  get: (n, t, s) => t === "size" ? (h(n, f), e?.onGet?.(u({
252
255
  name: e.name,
253
256
  target: n,
@@ -259,7 +262,7 @@ const ye = (e) => ({
259
262
  value: r
260
263
  })), n.has(r)) : t === "add" ? (r) => {
261
264
  const c = n.has(r);
262
- return n.add(r), c || (S(n, f), e?.onSet?.(u({
265
+ return n.add(r), c || (m(n, f), e?.onSet?.(u({
263
266
  name: e.name,
264
267
  target: n,
265
268
  key: t,
@@ -267,17 +270,17 @@ const ye = (e) => ({
267
270
  keysChanged: !0
268
271
  }))), s;
269
272
  } : t === "delete" ? (r) => {
270
- const c = n.has(r), o = n.delete(r);
271
- return c && (S(n, f), e?.onDelete?.(u({
273
+ const c = n.has(r), i = n.delete(r);
274
+ return c && (m(n, f), e?.onDelete?.(u({
272
275
  name: e.name,
273
276
  target: n,
274
277
  key: t,
275
278
  value: r,
276
279
  keysChanged: !0
277
- }))), o;
280
+ }))), i;
278
281
  } : t === "clear" ? () => {
279
282
  const r = n.size > 0;
280
- n.clear(), r && (S(n, f), e?.onDelete?.(u({
283
+ n.clear(), r && (m(n, f), e?.onDelete?.(u({
281
284
  name: e.name,
282
285
  target: n,
283
286
  key: t,
@@ -289,8 +292,8 @@ const ye = (e) => ({
289
292
  target: n,
290
293
  key: t
291
294
  }));
292
- for (const [o, l] of n.entries())
293
- r.call(c, v(o, e), v(l, e), s);
295
+ for (const [i, l] of n.entries())
296
+ r.call(c, v(i, e), v(l, e), s);
294
297
  } : t === "values" || t === "keys" ? () => (h(n, f), e?.onGet?.(u({
295
298
  name: e.name,
296
299
  target: n,
@@ -308,7 +311,7 @@ const ye = (e) => ({
308
311
  target: n,
309
312
  key: t
310
313
  })), O(n[Symbol.iterator](), e, (r) => v(r, e))) : t === Symbol.toStringTag ? "Set" : Reflect.get(n, t, s)
311
- }), Ge = (e) => ({
314
+ }), Ee = (e) => ({
312
315
  get: (n, t, s) => t === "size" ? (h(n, f), e?.onGet?.(u({
313
316
  name: e.name,
314
317
  target: n,
@@ -322,29 +325,29 @@ const ye = (e) => ({
322
325
  target: n,
323
326
  key: r
324
327
  })), v(n.get(r), e)) : t === "set" ? (r, c) => {
325
- const o = n.has(r), l = n.get(r);
326
- return n.set(r, c), o || S(n, f), (!o || l !== c) && (S(n, r), e?.onSet?.(u({
328
+ const i = n.has(r), l = n.get(r);
329
+ return n.set(r, c), i || m(n, f), (!i || l !== c) && (m(n, r), e?.onSet?.(u({
327
330
  name: e.name,
328
331
  target: n,
329
332
  key: r,
330
333
  value: c,
331
- keysChanged: !o,
334
+ keysChanged: !i,
332
335
  valueChanged: l !== c
333
336
  }))), s;
334
337
  } : t === "delete" ? (r) => {
335
- const c = n.has(r), o = n.delete(r);
336
- return c && (S(n, f), S(n, r), e?.onDelete?.(u({
338
+ const c = n.has(r), i = n.delete(r);
339
+ return c && (m(n, f), m(n, r), e?.onDelete?.(u({
337
340
  name: e.name,
338
341
  target: n,
339
342
  key: r,
340
343
  keysChanged: !0
341
- }))), o;
344
+ }))), i;
342
345
  } : t === "clear" ? () => {
343
346
  const r = [...n.keys()], c = n.size > 0;
344
347
  if (n.clear(), c) {
345
- S(n, f);
346
- for (const o of r)
347
- S(n, o);
348
+ m(n, f);
349
+ for (const i of r)
350
+ m(n, i);
348
351
  e?.onDelete?.(u({
349
352
  name: e.name,
350
353
  target: n,
@@ -358,8 +361,8 @@ const ye = (e) => ({
358
361
  target: n,
359
362
  key: t
360
363
  }));
361
- for (const [o, l] of n.entries())
362
- r.call(c, v(l, e), o, s);
364
+ for (const [i, l] of n.entries())
365
+ r.call(c, v(l, e), i, s);
363
366
  } : t === "keys" ? () => (h(n, f), e?.onGet?.(u({
364
367
  name: e.name,
365
368
  target: n,
@@ -385,38 +388,38 @@ const ye = (e) => ({
385
388
  e,
386
389
  ([r, c]) => [r, v(c, e)]
387
390
  )) : t === Symbol.toStringTag ? "Map" : Reflect.get(n, t, s)
388
- }), J = Object.freeze({
389
- object: be,
390
- array: Oe,
391
- set: ye,
392
- map: Ge
391
+ }), p = Object.freeze({
392
+ object: Ge,
393
+ array: Ie,
394
+ set: Te,
395
+ map: Ee
393
396
  });
394
397
  function w(e, n) {
395
- if (ie(e)) return g(e);
396
- if (X(e)) return e;
398
+ if (fe(e)) return g(e);
399
+ if (K(e)) return e;
397
400
  const t = n || {}, s = { ...t, deep: t?.deep ?? !0 }, r = w.getStringType(e);
398
401
  if (!w.hasHandler(r)) return e;
399
402
  const c = new Proxy(e, w.typeHandler(r, s));
400
- return le(e, c), c;
403
+ return he(e, c), c;
401
404
  }
402
- const Ie = (e) => {
405
+ const _e = (e) => {
403
406
  const n = Object.getPrototypeOf(e);
404
407
  return n === null ? !0 : n === Object.prototype;
405
408
  };
406
- w.getStringType = (e) => e === null ? "null" : typeof e != "object" ? typeof e : Array.isArray(e) ? "array" : e instanceof Map ? "map" : e instanceof Set ? "set" : Ie(e) ? "object" : "native";
407
- w.hasHandler = (e) => !!J[e];
408
- w.typeHandler = (e, n) => J[e]?.(n);
409
- function Z(e, n, t) {
410
- const s = K({
409
+ w.getStringType = (e) => e === null ? "null" : typeof e != "object" ? typeof e : Array.isArray(e) ? "array" : e instanceof Map ? "map" : e instanceof Set ? "set" : _e(e) ? "object" : "native";
410
+ w.hasHandler = (e) => !!p[e];
411
+ w.typeHandler = (e, n) => p[e]?.(n);
412
+ function k(e, n, t) {
413
+ const s = J({
411
414
  get: e,
412
- onChange: ({ value: c, prev: o }) => n(c, o)
415
+ onChange: ({ value: c, prev: i }) => n(c, i)
413
416
  }), r = s.run();
414
417
  return t?.immediate && n(r), () => s.dispose();
415
418
  }
416
- function j(e, n, t) {
419
+ function z(e, n, t) {
417
420
  let s, r;
418
421
  if (n.cache) {
419
- const c = ve({
422
+ const c = Ce({
420
423
  ...n,
421
424
  get: n.get,
422
425
  name: e,
@@ -433,8 +436,8 @@ function j(e, n, t) {
433
436
  } else
434
437
  s = function() {
435
438
  return T(this), n.get.call(this);
436
- }, r = function(...o) {
437
- n.set.call(this, ...o);
439
+ }, r = function(...i) {
440
+ n.set.call(this, ...i);
438
441
  };
439
442
  return {
440
443
  enumerable: n.enumerable,
@@ -443,7 +446,7 @@ function j(e, n, t) {
443
446
  set: r
444
447
  };
445
448
  }
446
- function z(e, n, t) {
449
+ function B(e, n, t) {
447
450
  const s = { value: n.value }, r = w(s, {
448
451
  name: e,
449
452
  onGet: t?.reactive?.onGet,
@@ -458,28 +461,28 @@ function z(e, n, t) {
458
461
  enumerable: n.enumerable,
459
462
  get: function() {
460
463
  T(this);
461
- const { value: o } = r;
462
- return Array.isArray(o) && Reflect.get(o, "length"), o;
464
+ const { value: i } = r;
465
+ return Array.isArray(i) && Reflect.get(i, "length"), i;
463
466
  },
464
- set: function(o) {
465
- r.value = o;
467
+ set: function(i) {
468
+ r.value = i;
466
469
  }
467
470
  };
468
471
  }
469
- function p(e, n, t, s) {
470
- Object.defineProperty(e, n, j(n, t, s));
471
- }
472
- function k(e, n, t, s) {
472
+ function ee(e, n, t, s) {
473
473
  Object.defineProperty(e, n, z(n, t, s));
474
474
  }
475
- const Te = {
476
- toRaw: fe,
477
- watch: Z,
478
- describeProperty: z,
479
- defineProperty: k,
480
- describeComputed: j,
481
- defineComputed: p
482
- }, A = /* @__PURE__ */ new Set(["__proto__", "__ob__"]), H = "value", Ee = /* @__PURE__ */ new Set([
475
+ function ne(e, n, t, s) {
476
+ Object.defineProperty(e, n, B(n, t, s));
477
+ }
478
+ const Ae = {
479
+ toRaw: de,
480
+ watch: k,
481
+ describeProperty: B,
482
+ defineProperty: ne,
483
+ describeComputed: z,
484
+ defineComputed: ee
485
+ }, A = /* @__PURE__ */ new Set(["__proto__", "__ob__"]), D = "value", Pe = /* @__PURE__ */ new Set([
483
486
  Symbol.iterator,
484
487
  "size",
485
488
  "has",
@@ -488,90 +491,89 @@ const Te = {
488
491
  "keys",
489
492
  "entries",
490
493
  "forEach"
491
- ]), _e = (e) => {
492
- e[H] += 1;
494
+ ]), He = (e) => {
495
+ e[D] += 1;
493
496
  };
494
- function Ve(e) {
497
+ function je(e) {
495
498
  if (!e?.reactive || typeof e.reactive != "function")
496
499
  throw new Error(
497
500
  `MadroneVue3 requires Vue's reactive function. Either use "madrone/integrations/vue" for automatic setup, or pass { reactive, toRaw } from "vue".`
498
501
  );
499
- const { reactive: n, toRaw: t } = e, s = t ?? ((a) => a), r = /* @__PURE__ */ new WeakMap(), c = /* @__PURE__ */ new WeakMap(), o = (a, i) => {
500
- if (!Ee.has(i)) return;
501
- const m = s(a);
502
- let d = c.get(m);
503
- d || (d = /* @__PURE__ */ new Set(), c.set(m, d)), d.add(i);
504
- }, l = (a, i) => {
505
- const m = s(a);
506
- let d = r.get(m);
507
- d || (d = /* @__PURE__ */ new Map(), r.set(m, d));
508
- let R = d.get(i);
509
- return R || (R = n({ [H]: 0 }), d.set(i, R)), R;
510
- }, E = (a, i) => {
511
- A.has(i) || Reflect.get(l(a, i), H);
512
- }, y = (a, i) => {
513
- A.has(i) || _e(l(a, i));
514
- }, ee = (a, i) => {
515
- const m = s(a), d = r.get(m);
516
- d && y(d, i), r.delete(m);
517
- }, G = {
502
+ const { reactive: n, toRaw: t } = e, s = t ?? ((a) => a), r = /* @__PURE__ */ new WeakMap(), c = /* @__PURE__ */ new WeakMap(), i = (a, o) => {
503
+ if (!Pe.has(o)) return;
504
+ const d = s(a);
505
+ let S = c.get(d);
506
+ S || (S = /* @__PURE__ */ new Set(), c.set(d, S)), S.add(o);
507
+ }, l = (a, o) => {
508
+ const d = s(a);
509
+ let S = r.get(d);
510
+ S || (S = /* @__PURE__ */ new Map(), r.set(d, S));
511
+ let G = S.get(o);
512
+ return G || (G = n({ [D]: 0 }), S.set(o, G)), G;
513
+ }, E = (a, o) => {
514
+ A.has(o) || Reflect.get(l(a, o), D);
515
+ }, C = (a, o) => {
516
+ A.has(o) || He(l(a, o));
517
+ }, te = (a, o) => {
518
+ const d = s(a);
519
+ r.get(d) && C(a, o);
520
+ }, L = (a) => {
521
+ const o = c.get(s(a));
522
+ if (o)
523
+ for (const d of o)
524
+ C(a, d);
525
+ }, y = {
518
526
  computed: {
519
527
  onGet: (a) => {
520
528
  E(a, a.name);
521
529
  },
522
530
  onImmediateChange: (a) => {
523
- y(a, a.name);
531
+ C(a, a.name);
524
532
  }
525
533
  },
526
534
  reactive: {
527
- onGet: ({ target: a, key: i }) => {
528
- T(a), E(a, i), o(a, i);
535
+ onGet: ({ target: a, key: o }) => {
536
+ T(a), E(a, o), i(a, o);
529
537
  },
530
- onHas: ({ target: a, key: i }) => {
531
- E(a, i);
538
+ onHas: ({ target: a, key: o }) => {
539
+ E(a, o);
532
540
  },
533
- onDelete: ({ target: a, key: i }) => {
534
- ee(a, i);
541
+ onDelete: ({ target: a, key: o, keysChanged: d }) => {
542
+ te(a, o), d && (C(a), L(a));
535
543
  },
536
- onSet: ({ target: a, key: i, keysChanged: m }) => {
537
- if (y(a, i), m) {
538
- y(a);
539
- const d = c.get(s(a));
540
- if (d)
541
- for (const R of d)
542
- y(a, R);
543
- }
544
+ onSet: ({ target: a, key: o, keysChanged: d }) => {
545
+ C(a, o), d && (C(a), L(a));
544
546
  },
545
547
  needsProxy: ({ key: a }) => !A.has(a)
546
548
  }
547
549
  };
548
- function ne(a, i) {
549
- return j(a, i, G);
550
+ function re(a, o) {
551
+ return z(a, o, y);
550
552
  }
551
- function te(a, i) {
552
- return z(a, i, G);
553
+ function se(a, o) {
554
+ return B(a, o, y);
553
555
  }
554
- function re(a, i, m) {
555
- return p(a, i, m, G);
556
+ function ce(a, o, d) {
557
+ return ee(a, o, d, y);
556
558
  }
557
- function se(a, i, m) {
558
- return k(a, i, m, G);
559
+ function ae(a, o, d) {
560
+ return ne(a, o, d, y);
559
561
  }
560
562
  return {
561
- toRaw: Te.toRaw,
562
- watch: Z,
563
- describeProperty: te,
564
- defineProperty: se,
565
- describeComputed: ne,
566
- defineComputed: re
563
+ toRaw: Ae.toRaw,
564
+ watch: k,
565
+ describeProperty: se,
566
+ defineProperty: ae,
567
+ describeComputed: re,
568
+ defineComputed: ce
567
569
  };
568
570
  }
569
571
  export {
570
- Te as M,
571
- He as a,
572
- Ve as b,
573
- oe as g,
574
- De as l,
575
- Me as r,
576
- $ as t
572
+ Ae as M,
573
+ Ve as a,
574
+ je as b,
575
+ ue as g,
576
+ ge as l,
577
+ Ne as r,
578
+ q as t
577
579
  };
@@ -0,0 +1 @@
1
+ "use strict";const V=new Set;let $;function ue(){return[...V]}function fe(){return ue().at(-1)}function X(){$=fe()}function le(e){e&&(V.add(e),X())}function de(e){V.delete(e),X()}function q(){return $}const K=new WeakMap;function D(e){return(q()?.toRaw??(t=>t))(e)}function T(e){K.set(D(e),Date.now())}function he(e){return K.get(D(e))}const f=Symbol("keys"),U=Symbol("computed"),g=new WeakMap,N=new WeakMap,b=new WeakMap,R=new WeakMap;let G=[],_=null;const me=e=>g.has(e),F=e=>N.has(e),j=e=>g.get(e),Se=e=>N.get(e),ve=e=>F(e)?Se(e):e,we=(e,n)=>{g.set(e,n),N.set(n,e)},Re=()=>{_===null&&(_=Symbol("scheduler"),queueMicrotask(()=>{try{for(;G.length>0;){const e=G;G=[];for(const n of e)try{n()}catch(t){console.error("Unhandled error in scheduled task:",t)}}}finally{_=null}}))},Ce=e=>{G.push(e),Re()},be=(e,n)=>{const t=R.get(e),s=t?.get(n);if(s){for(const r of s)b.get(r)?.get(n)?.delete(e);s.clear(),t.delete(n),t.size===0&&R.delete(e)}},Y=e=>{const n=R.get(e);if(n){for(const[t,s]of n)for(const r of s)b.get(r)?.get(t)?.delete(e);R.delete(e)}},Q=(e,n)=>{const t=Oe();if(!t)return;R.has(t)||R.set(t,new Map),b.has(e)||b.set(e,new Map);const s=b.get(e),r=R.get(t);s.has(n)||s.set(n,new Set),r.has(n)||r.set(n,new Set);const c=s.get(n),i=r.get(n);c.add(t),i.add(e)},h=(e,n)=>{const t=j(e);t&&Q(t,n)},J=(e,n)=>{const t=b.get(e);if(t?.get(n))for(const s of t.get(n))s.setDirty(),ye(s)||be(s,n)},m=(e,n)=>{J(j(e),n)},P=[],H=new WeakSet;function Oe(){return P.at(-1)}function ye(e){return H.has(e)}class z{static create(...n){return new z(...n)}constructor(n){this.name=n.name,this.get=n.get,this.set=n.set,this.cache=!!(n.cache??!0),this.alive=!0,this.dirty=!0,this.cachedVal=void 0,this.hooks={onGet:n.onGet,onSet:n.onSet,onChange:n.onChange,onImmediateChange:n.onImmediateChange}}callHook(n){typeof this.hooks[n]=="function"&&this.hooks[n](this)}dispose(){Y(this),this.alive=!1,this.dirty=!1,this.cachedVal=void 0,this.prev=void 0}wrap(n){P.push(this),H.add(this);try{return n()}finally{P.pop(),H.delete(this)}}setDirty(){this.alive&&!this.dirty&&(this.dirty=!0,J(this,U),this.prev=this.cachedVal,this.cachedVal=void 0,this.callHook("onImmediateChange"),Ce(()=>this.notifyChange()))}notifyChange(){this.callHook("onChange"),this.prev=void 0}run(){if(!this.alive)return;const n=this.wrap(()=>{if(this.cache&&this.dirty||!this.cache){Y(this);try{this.cachedVal=this.get()}finally{this.dirty=!1}}return this.cachedVal});return Q(this,U),this.callHook("onGet"),n}get value(){return this.run()}set value(n){if(typeof this.set=="function")this.set(n),this.callHook("onSet");else throw new TypeError(`No setter defined for "${this.name}"`)}}function Z(...e){return z.create(...e)}function Ie(e){return Z(e)}const u=e=>{const{name:n,target:t,key:s,receiver:r,value:c,keysChanged:i=!1,valueChanged:l=!1}=e;return{name:n,target:t,key:s,receiver:r,value:c,keysChanged:i,valueChanged:l}},Ge=(e,n,t,s)=>{h(n,t),e?.onGet&&e.onGet(u({name:e.name,target:n,key:t,receiver:s}))},Te=(e,n,t,s)=>{const r=n[t],c=Array.isArray(n);let i=!1,l=!1;t in n||(m(n,f),l=!0,c&&m(n,"length")),(r!==s||c)&&(m(n,t),i=!0),(l||i)&&e?.onSet&&e.onSet(u({name:e.name,target:n,key:t,value:s,keysChanged:l,valueChanged:i}))},Ee=(e,n,t)=>{m(n,t),m(n,f),e?.onDelete&&e.onDelete(u({name:e.name,target:n,key:t,keysChanged:!0}))},x=(e,n,t)=>{h(n,f),e?.onHas&&e.onHas(u({name:e.name,target:n,key:t}))};function k(e){const n=e.needsProxy||(()=>!0);return{get:(t,s,r)=>{Ge(e,t,s,r);const c=Reflect.get(t,s,r);return e?.deep&&c&&typeof c=="object"&&n({target:t,key:s,value:c})&&Object.getOwnPropertyDescriptor(t,s)?.configurable?w(c,e):c},set:(t,s,r)=>(Te(e,t,s,r),Reflect.set(t,s,r)),deleteProperty:(...t)=>(Ee(e,...t),Reflect.deleteProperty(...t)),has:(t,s)=>(x(e,t),Reflect.has(t,s)),ownKeys:t=>(x(e,t),Reflect.ownKeys(t)),getPrototypeOf:t=>Object.getPrototypeOf(t)}}const _e=e=>({...k(e)}),Ae=e=>({...k(e)}),v=(e,n)=>n?.deep&&e&&typeof e=="object"?w(e,n):e;function*O(e,n,t){for(const s of e)yield t(s)}const Pe=e=>({get:(n,t,s)=>t==="size"?(h(n,f),e?.onGet?.(u({name:e.name,target:n,key:t})),n.size):t==="has"?r=>(h(n,f),e?.onGet?.(u({name:e.name,target:n,key:t,value:r})),n.has(r)):t==="add"?r=>{const c=n.has(r);return n.add(r),c||(m(n,f),e?.onSet?.(u({name:e.name,target:n,key:t,value:r,keysChanged:!0}))),s}:t==="delete"?r=>{const c=n.has(r),i=n.delete(r);return c&&(m(n,f),e?.onDelete?.(u({name:e.name,target:n,key:t,value:r,keysChanged:!0}))),i}:t==="clear"?()=>{const r=n.size>0;n.clear(),r&&(m(n,f),e?.onDelete?.(u({name:e.name,target:n,key:t,keysChanged:!0})))}:t==="forEach"?(r,c)=>{h(n,f),e?.onGet?.(u({name:e.name,target:n,key:t}));for(const[i,l]of n.entries())r.call(c,v(i,e),v(l,e),s)}:t==="values"||t==="keys"?()=>(h(n,f),e?.onGet?.(u({name:e.name,target:n,key:t})),O(n.values(),e,r=>v(r,e))):t==="entries"?()=>(h(n,f),e?.onGet?.(u({name:e.name,target:n,key:t})),O(n.entries(),e,([r,c])=>[v(r,e),v(c,e)])):t===Symbol.iterator?()=>(h(n,f),e?.onGet?.(u({name:e.name,target:n,key:t})),O(n[Symbol.iterator](),e,r=>v(r,e))):t===Symbol.toStringTag?"Set":Reflect.get(n,t,s)}),He=e=>({get:(n,t,s)=>t==="size"?(h(n,f),e?.onGet?.(u({name:e.name,target:n,key:t})),n.size):t==="has"?r=>(h(n,r),e?.onGet?.(u({name:e.name,target:n,key:r})),n.has(r)):t==="get"?r=>(h(n,r),e?.onGet?.(u({name:e.name,target:n,key:r})),v(n.get(r),e)):t==="set"?(r,c)=>{const i=n.has(r),l=n.get(r);return n.set(r,c),i||m(n,f),(!i||l!==c)&&(m(n,r),e?.onSet?.(u({name:e.name,target:n,key:r,value:c,keysChanged:!i,valueChanged:l!==c}))),s}:t==="delete"?r=>{const c=n.has(r),i=n.delete(r);return c&&(m(n,f),m(n,r),e?.onDelete?.(u({name:e.name,target:n,key:r,keysChanged:!0}))),i}:t==="clear"?()=>{const r=[...n.keys()],c=n.size>0;if(n.clear(),c){m(n,f);for(const i of r)m(n,i);e?.onDelete?.(u({name:e.name,target:n,key:t,keysChanged:!0}))}}:t==="forEach"?(r,c)=>{h(n,f),e?.onGet?.(u({name:e.name,target:n,key:t}));for(const[i,l]of n.entries())r.call(c,v(l,e),i,s)}:t==="keys"?()=>(h(n,f),e?.onGet?.(u({name:e.name,target:n,key:t})),n.keys()):t==="values"?()=>(h(n,f),e?.onGet?.(u({name:e.name,target:n,key:t})),O(n.values(),e,r=>v(r,e))):t==="entries"?()=>(h(n,f),e?.onGet?.(u({name:e.name,target:n,key:t})),O(n.entries(),e,([r,c])=>[r,v(c,e)])):t===Symbol.iterator?()=>(h(n,f),e?.onGet?.(u({name:e.name,target:n,key:t})),O(n[Symbol.iterator](),e,([r,c])=>[r,v(c,e)])):t===Symbol.toStringTag?"Map":Reflect.get(n,t,s)}),p=Object.freeze({object:_e,array:Ae,set:Pe,map:He});function w(e,n){if(me(e))return j(e);if(F(e))return e;const t=n||{},s={...t,deep:t?.deep??!0},r=w.getStringType(e);if(!w.hasHandler(r))return e;const c=new Proxy(e,w.typeHandler(r,s));return we(e,c),c}const Me=e=>{const n=Object.getPrototypeOf(e);return n===null?!0:n===Object.prototype};w.getStringType=e=>e===null?"null":typeof e!="object"?typeof e:Array.isArray(e)?"array":e instanceof Map?"map":e instanceof Set?"set":Me(e)?"object":"native";w.hasHandler=e=>!!p[e];w.typeHandler=(e,n)=>p[e]?.(n);function ee(e,n,t){const s=Z({get:e,onChange:({value:c,prev:i})=>n(c,i)}),r=s.run();return t?.immediate&&n(r),()=>s.dispose()}function B(e,n,t){let s,r;if(n.cache){const c=Ie({...n,get:n.get,name:e,onImmediateChange:t?.computed?.onImmediateChange,onChange:t?.computed?.onChange,onGet:t?.computed?.onGet,onSet:t?.computed?.onSet});s=function(){return T(this),c.value},r=function(l){c.value=l}}else s=function(){return T(this),n.get.call(this)},r=function(...i){n.set.call(this,...i)};return{enumerable:n.enumerable,configurable:n.configurable,get:s,set:r}}function L(e,n,t){const s={value:n.value},r=w(s,{name:e,onGet:t?.reactive?.onGet,onHas:t?.reactive?.onHas,onSet:t?.reactive?.onSet,onDelete:t?.reactive?.onDelete,needsProxy:t?.reactive?.needsProxy,deep:n.deep??t?.reactive?.deep});return{configurable:n.configurable,enumerable:n.enumerable,get:function(){T(this);const{value:i}=r;return Array.isArray(i)&&Reflect.get(i,"length"),i},set:function(i){r.value=i}}}function ne(e,n,t,s){Object.defineProperty(e,n,B(n,t,s))}function te(e,n,t,s){Object.defineProperty(e,n,L(n,t,s))}const re={toRaw:ve,watch:ee,describeProperty:L,defineProperty:te,describeComputed:B,defineComputed:ne},A=new Set(["__proto__","__ob__"]),M="value",Ve=new Set([Symbol.iterator,"size","has","get","values","keys","entries","forEach"]),De=e=>{e[M]+=1};function ge(e){if(!e?.reactive||typeof e.reactive!="function")throw new Error(`MadroneVue3 requires Vue's reactive function. Either use "madrone/integrations/vue" for automatic setup, or pass { reactive, toRaw } from "vue".`);const{reactive:n,toRaw:t}=e,s=t??(a=>a),r=new WeakMap,c=new WeakMap,i=(a,o)=>{if(!Ve.has(o))return;const d=s(a);let S=c.get(d);S||(S=new Set,c.set(d,S)),S.add(o)},l=(a,o)=>{const d=s(a);let S=r.get(d);S||(S=new Map,r.set(d,S));let I=S.get(o);return I||(I=n({[M]:0}),S.set(o,I)),I},E=(a,o)=>{A.has(o)||Reflect.get(l(a,o),M)},C=(a,o)=>{A.has(o)||De(l(a,o))},se=(a,o)=>{const d=s(a);r.get(d)&&C(a,o)},W=a=>{const o=c.get(s(a));if(o)for(const d of o)C(a,d)},y={computed:{onGet:a=>{E(a,a.name)},onImmediateChange:a=>{C(a,a.name)}},reactive:{onGet:({target:a,key:o})=>{T(a),E(a,o),i(a,o)},onHas:({target:a,key:o})=>{E(a,o)},onDelete:({target:a,key:o,keysChanged:d})=>{se(a,o),d&&(C(a),W(a))},onSet:({target:a,key:o,keysChanged:d})=>{C(a,o),d&&(C(a),W(a))},needsProxy:({key:a})=>!A.has(a)}};function ce(a,o){return B(a,o,y)}function ae(a,o){return L(a,o,y)}function ie(a,o,d){return ne(a,o,d,y)}function oe(a,o,d){return te(a,o,d,y)}return{toRaw:re.toRaw,watch:ee,describeProperty:ae,defineProperty:oe,describeComputed:ce,defineComputed:ie}}exports.MadroneState=re;exports.MadroneVue3=ge;exports.addIntegration=le;exports.getIntegration=q;exports.lastAccessed=he;exports.removeIntegration=de;exports.toRaw=D;
package/dist/core.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("./MadroneVue3-SGZmwRMI.cjs");function a(e,t,n){const r=o.getIntegration();if(!r)throw new Error("No integration specified");typeof n.get=="function"&&r?.defineComputed?r.defineComputed(e,t,{get:n.get.bind(e),set:n.set?.bind(e),enumerable:n.enumerable,configurable:n.configurable,cache:n.cache??!0}):!n.get&&r?.defineProperty&&r.defineProperty(e,t,{value:n.value,enumerable:n.enumerable,configurable:n.configurable,deep:n.deep})}function p(e,t){const n=Object.getOwnPropertyDescriptors(e),r=(u,i)=>t?.[u]?.[i];for(const[u,i]of Object.entries(n))a(e,u,{get:i.get?.bind(e),set:i.set?.bind(e),value:r(u,"value")??i.value,enumerable:r(u,"enumerable")??i.enumerable,configurable:r(u,"configurable")??i.configurable,cache:r(u,"cache")??!0,deep:r(u,"deep")??!0});return e}function g(e,t,n){return o.getIntegration()?.watch?.(e,t,n)}function b(...e){const t={},n={};for(const r of e){const u=typeof r=="function"?r():r;Object.assign(t,Object.getOwnPropertyDescriptors(u??r??{}))}return Object.defineProperties(n,t),n}function m(e,t){Object.defineProperties(e.prototype,Object.getOwnPropertyDescriptors(b(...[...t,e].map(n=>n.prototype))))}const c=new WeakMap;function P(...e){return t=>{e?.length&&m(t,e)}}function h(e){c.has(e)||c.set(e,new Set)}function v(e,t){return h(e),c.get(e).has(t)}function w(e,t){h(e),c.get(e).add(t)}function d(e,t,n,r){return o.getIntegration()&&!v(e,t)?(a(e,t,{...n,get:n.get.bind(e),set:n.set?.bind(e),enumerable:!0,...r?.descriptors,cache:!0}),w(e,t),!0):!1}function O(e,t,n,r){return typeof n.get=="function"?{...n,enumerable:!0,configurable:!0,get:function(){return d(this,t,n,r),this[t]},set:function(I){d(this,t,n,r),this[t]=I}}:n}function M(e,t,n){return O(e,t,n)}M.configure=function(t){return(n,r,u)=>O(n,r,u,{descriptors:t})};function f(e,t,n){return o.getIntegration()&&!v(e,t)?(w(e,t),a(e,t,{...Object.getOwnPropertyDescriptor(e,t),enumerable:!0,...n?.descriptors}),!0):!1}function s(e,t,n){typeof e=="function"?f(e,t):Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get(){if(f(this,t,n))return this[t]},set(r){f(this,t,n)&&(this[t]=r)}})}function l(e,t){return s(e,t)}l.shallow=function(t,n){return s(t,n,{descriptors:{deep:!1}})};l.configure=function(t){return(n,r)=>s(n,r,{descriptors:t})};o.addIntegration(o.MadroneState);const D={use:o.addIntegration,unuse:o.removeIntegration,auto:p,define:a,watch:g,lastAccessed:o.lastAccessed};exports.MadroneState=o.MadroneState;exports.MadroneVue3=o.MadroneVue3;exports.toRaw=o.toRaw;exports.applyClassMixins=m;exports.auto=p;exports.classMixin=P;exports.computed=M;exports.default=D;exports.merge=b;exports.reactive=l;exports.watch=g;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("./MadroneVue3-BO-MRnQn.cjs");function a(e,t,n){const r=o.getIntegration();if(!r)throw new Error("No integration specified");typeof n.get=="function"&&r?.defineComputed?r.defineComputed(e,t,{get:n.get.bind(e),set:n.set?.bind(e),enumerable:n.enumerable,configurable:n.configurable,cache:n.cache??!0}):!n.get&&r?.defineProperty&&r.defineProperty(e,t,{value:n.value,enumerable:n.enumerable,configurable:n.configurable,deep:n.deep})}function p(e,t){const n=Object.getOwnPropertyDescriptors(e),r=(u,i)=>t?.[u]?.[i];for(const[u,i]of Object.entries(n))a(e,u,{get:i.get?.bind(e),set:i.set?.bind(e),value:r(u,"value")??i.value,enumerable:r(u,"enumerable")??i.enumerable,configurable:r(u,"configurable")??i.configurable,cache:r(u,"cache")??!0,deep:r(u,"deep")??!0});return e}function g(e,t,n){return o.getIntegration()?.watch?.(e,t,n)}function b(...e){const t={},n={};for(const r of e){const u=typeof r=="function"?r():r;Object.assign(t,Object.getOwnPropertyDescriptors(u??r??{}))}return Object.defineProperties(n,t),n}function m(e,t){Object.defineProperties(e.prototype,Object.getOwnPropertyDescriptors(b(...[...t,e].map(n=>n.prototype))))}const c=new WeakMap;function P(...e){return t=>{e?.length&&m(t,e)}}function h(e){c.has(e)||c.set(e,new Set)}function v(e,t){return h(e),c.get(e).has(t)}function w(e,t){h(e),c.get(e).add(t)}function d(e,t,n,r){return o.getIntegration()&&!v(e,t)?(a(e,t,{...n,get:n.get.bind(e),set:n.set?.bind(e),enumerable:!0,...r?.descriptors,cache:!0}),w(e,t),!0):!1}function O(e,t,n,r){return typeof n.get=="function"?{...n,enumerable:!0,configurable:!0,get:function(){return d(this,t,n,r),this[t]},set:function(I){d(this,t,n,r),this[t]=I}}:n}function M(e,t,n){return O(e,t,n)}M.configure=function(t){return(n,r,u)=>O(n,r,u,{descriptors:t})};function f(e,t,n){return o.getIntegration()&&!v(e,t)?(w(e,t),a(e,t,{...Object.getOwnPropertyDescriptor(e,t),enumerable:!0,...n?.descriptors}),!0):!1}function s(e,t,n){typeof e=="function"?f(e,t):Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get(){if(f(this,t,n))return this[t]},set(r){f(this,t,n)&&(this[t]=r)}})}function l(e,t){return s(e,t)}l.shallow=function(t,n){return s(t,n,{descriptors:{deep:!1}})};l.configure=function(t){return(n,r)=>s(n,r,{descriptors:t})};o.addIntegration(o.MadroneState);const D={use:o.addIntegration,unuse:o.removeIntegration,auto:p,define:a,watch:g,lastAccessed:o.lastAccessed};exports.MadroneState=o.MadroneState;exports.MadroneVue3=o.MadroneVue3;exports.toRaw=o.toRaw;exports.applyClassMixins=m;exports.auto=p;exports.classMixin=P;exports.computed=M;exports.default=D;exports.merge=b;exports.reactive=l;exports.watch=g;
package/dist/core.js CHANGED
@@ -1,5 +1,5 @@
1
- import { g as i, a as p, l as O, r as v, M as P } from "./MadroneVue3-Bh1p2UjI.js";
2
- import { b as j, t as V } from "./MadroneVue3-Bh1p2UjI.js";
1
+ import { g as i, a as p, l as O, r as v, M as P } from "./MadroneVue3-BBL8NMJk.js";
2
+ import { b as j, t as V } from "./MadroneVue3-BBL8NMJk.js";
3
3
  function f(e, t, n) {
4
4
  const r = i();
5
5
  if (!r)
package/dist/vue.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";const e=require("vue"),r=require("./MadroneVue3-SGZmwRMI.cjs"),t=r.MadroneVue3({reactive:e.reactive,toRaw:e.toRaw});module.exports=t;
1
+ "use strict";const e=require("vue"),r=require("./MadroneVue3-BO-MRnQn.cjs"),t=r.MadroneVue3({reactive:e.reactive,toRaw:e.toRaw});module.exports=t;
package/dist/vue.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { reactive as o, toRaw as e } from "vue";
2
- import { b as r } from "./MadroneVue3-Bh1p2UjI.js";
2
+ import { b as r } from "./MadroneVue3-BBL8NMJk.js";
3
3
  const m = r({ reactive: o, toRaw: e });
4
4
  export {
5
5
  m as default
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@madronejs/core",
3
- "version": "1.1.2",
3
+ "version": "1.1.5",
4
4
  "description": "Object composition and reactivity framework.",
5
5
  "private": false,
6
6
  "license": "MIT",
@@ -17,6 +17,17 @@
17
17
  * @internal
18
18
  */
19
19
  export declare function getCurrentObserver(): ObservableItem<unknown> | undefined;
20
+ /**
21
+ * Checks if an Observer is currently running (on the execution stack).
22
+ *
23
+ * Used to prevent clearing dependencies for an observer that is still
24
+ * collecting dependencies during its getter execution.
25
+ *
26
+ * @param obs - The observer to check
27
+ * @returns true if the observer is currently running
28
+ * @internal
29
+ */
30
+ export declare function isObserverRunning(obs: ObservableItem<unknown>): boolean;
20
31
  /**
21
32
  * Lifecycle hooks that can be called on an Observer.
22
33
  */
@@ -1 +0,0 @@
1
- "use strict";const M=new Set;let x;function oe(){return[...M]}function ie(){return oe().at(-1)}function U(){x=ie()}function ue(e){e&&(M.add(e),U())}function fe(e){M.delete(e),U()}function $(){return x}const X=new WeakMap;function V(e){return($()?.toRaw??(t=>t))(e)}function T(e){X.set(V(e),Date.now())}function le(e){return X.get(V(e))}const f=Symbol("keys"),B=Symbol("computed"),D=new WeakMap,g=new WeakMap,b=new WeakMap,C=new WeakMap;let G=[],A=null;const de=e=>D.has(e),q=e=>g.has(e),N=e=>D.get(e),he=e=>g.get(e),me=e=>q(e)?he(e):e,Se=(e,n)=>{D.set(e,n),g.set(n,e)},ve=()=>{A===null&&(A=Symbol("scheduler"),queueMicrotask(()=>{try{for(;G.length>0;){const e=G;G=[];for(const n of e)try{n()}catch(t){console.error("Unhandled error in scheduled task:",t)}}}finally{A=null}}))},we=e=>{G.push(e),ve()},Ce=(e,n)=>{const t=C.get(e),s=t?.get(n);if(s){for(const r of s)b.get(r)?.get(n)?.delete(e);s.clear(),t.delete(n),t.size===0&&C.delete(e)}},W=e=>{const n=C.get(e);if(n){for(const[t,s]of n)for(const r of s)b.get(r)?.get(t)?.delete(e);C.delete(e)}},F=(e,n)=>{const t=Re();if(!t)return;C.has(t)||C.set(t,new Map),b.has(e)||b.set(e,new Map);const s=b.get(e),r=C.get(t);s.has(n)||s.set(n,new Set),r.has(n)||r.set(n,new Set);const c=s.get(n),o=r.get(n);c.add(t),o.add(e)},h=(e,n)=>{const t=N(e);t&&F(t,n)},K=(e,n)=>{const t=b.get(e);if(t?.get(n))for(const s of t.get(n))s.setDirty(),Ce(s,n)},S=(e,n)=>{K(N(e),n)},P=[];function Re(){return P.at(-1)}class j{static create(...n){return new j(...n)}constructor(n){this.name=n.name,this.get=n.get,this.set=n.set,this.cache=!!(n.cache??!0),this.alive=!0,this.dirty=!0,this.cachedVal=void 0,this.hooks={onGet:n.onGet,onSet:n.onSet,onChange:n.onChange,onImmediateChange:n.onImmediateChange}}callHook(n){typeof this.hooks[n]=="function"&&this.hooks[n](this)}dispose(){W(this),this.alive=!1,this.dirty=!1,this.cachedVal=void 0,this.prev=void 0}wrap(n){P.push(this);try{return n()}finally{P.pop()}}setDirty(){this.alive&&!this.dirty&&(this.dirty=!0,K(this,B),this.prev=this.cachedVal,this.cachedVal=void 0,this.callHook("onImmediateChange"),we(()=>this.notifyChange()))}notifyChange(){this.callHook("onChange"),this.prev=void 0}run(){if(!this.alive)return;const n=this.wrap(()=>{if(this.cache&&this.dirty||!this.cache){W(this);try{this.cachedVal=this.get()}finally{this.dirty=!1}}return this.cachedVal});return F(this,B),this.callHook("onGet"),n}get value(){return this.run()}set value(n){if(typeof this.set=="function")this.set(n),this.callHook("onSet");else throw new TypeError(`No setter defined for "${this.name}"`)}}function Q(...e){return j.create(...e)}function be(e){return Q(e)}const u=e=>{const{name:n,target:t,key:s,receiver:r,value:c,keysChanged:o=!1,valueChanged:l=!1}=e;return{name:n,target:t,key:s,receiver:r,value:c,keysChanged:o,valueChanged:l}},Oe=(e,n,t,s)=>{h(n,t),e?.onGet&&e.onGet(u({name:e.name,target:n,key:t,receiver:s}))},ye=(e,n,t,s)=>{const r=n[t],c=Array.isArray(n);let o=!1,l=!1;t in n||(S(n,f),l=!0,c&&S(n,"length")),(r!==s||c)&&(S(n,t),o=!0),(l||o)&&e?.onSet&&e.onSet(u({name:e.name,target:n,key:t,value:s,keysChanged:l,valueChanged:o}))},Ie=(e,n,t)=>{S(n,t),S(n,f),e?.onDelete&&e.onDelete(u({name:e.name,target:n,key:t,keysChanged:!0}))},Y=(e,n,t)=>{h(n,f),e?.onHas&&e.onHas(u({name:e.name,target:n,key:t}))};function J(e){const n=e.needsProxy||(()=>!0);return{get:(t,s,r)=>{Oe(e,t,s,r);const c=Reflect.get(t,s,r);return e?.deep&&c&&typeof c=="object"&&n({target:t,key:s,value:c})&&Object.getOwnPropertyDescriptor(t,s)?.configurable?w(c,e):c},set:(t,s,r)=>(ye(e,t,s,r),Reflect.set(t,s,r)),deleteProperty:(...t)=>(Ie(e,...t),Reflect.deleteProperty(...t)),has:(t,s)=>(Y(e,t),Reflect.has(t,s)),ownKeys:t=>(Y(e,t),Reflect.ownKeys(t)),getPrototypeOf:t=>Object.getPrototypeOf(t)}}const Ge=e=>({...J(e)}),Te=e=>({...J(e)}),v=(e,n)=>n?.deep&&e&&typeof e=="object"?w(e,n):e;function*O(e,n,t){for(const s of e)yield t(s)}const Ee=e=>({get:(n,t,s)=>t==="size"?(h(n,f),e?.onGet?.(u({name:e.name,target:n,key:t})),n.size):t==="has"?r=>(h(n,f),e?.onGet?.(u({name:e.name,target:n,key:t,value:r})),n.has(r)):t==="add"?r=>{const c=n.has(r);return n.add(r),c||(S(n,f),e?.onSet?.(u({name:e.name,target:n,key:t,value:r,keysChanged:!0}))),s}:t==="delete"?r=>{const c=n.has(r),o=n.delete(r);return c&&(S(n,f),e?.onDelete?.(u({name:e.name,target:n,key:t,value:r,keysChanged:!0}))),o}:t==="clear"?()=>{const r=n.size>0;n.clear(),r&&(S(n,f),e?.onDelete?.(u({name:e.name,target:n,key:t,keysChanged:!0})))}:t==="forEach"?(r,c)=>{h(n,f),e?.onGet?.(u({name:e.name,target:n,key:t}));for(const[o,l]of n.entries())r.call(c,v(o,e),v(l,e),s)}:t==="values"||t==="keys"?()=>(h(n,f),e?.onGet?.(u({name:e.name,target:n,key:t})),O(n.values(),e,r=>v(r,e))):t==="entries"?()=>(h(n,f),e?.onGet?.(u({name:e.name,target:n,key:t})),O(n.entries(),e,([r,c])=>[v(r,e),v(c,e)])):t===Symbol.iterator?()=>(h(n,f),e?.onGet?.(u({name:e.name,target:n,key:t})),O(n[Symbol.iterator](),e,r=>v(r,e))):t===Symbol.toStringTag?"Set":Reflect.get(n,t,s)}),Ae=e=>({get:(n,t,s)=>t==="size"?(h(n,f),e?.onGet?.(u({name:e.name,target:n,key:t})),n.size):t==="has"?r=>(h(n,r),e?.onGet?.(u({name:e.name,target:n,key:r})),n.has(r)):t==="get"?r=>(h(n,r),e?.onGet?.(u({name:e.name,target:n,key:r})),v(n.get(r),e)):t==="set"?(r,c)=>{const o=n.has(r),l=n.get(r);return n.set(r,c),o||S(n,f),(!o||l!==c)&&(S(n,r),e?.onSet?.(u({name:e.name,target:n,key:r,value:c,keysChanged:!o,valueChanged:l!==c}))),s}:t==="delete"?r=>{const c=n.has(r),o=n.delete(r);return c&&(S(n,f),S(n,r),e?.onDelete?.(u({name:e.name,target:n,key:r,keysChanged:!0}))),o}:t==="clear"?()=>{const r=[...n.keys()],c=n.size>0;if(n.clear(),c){S(n,f);for(const o of r)S(n,o);e?.onDelete?.(u({name:e.name,target:n,key:t,keysChanged:!0}))}}:t==="forEach"?(r,c)=>{h(n,f),e?.onGet?.(u({name:e.name,target:n,key:t}));for(const[o,l]of n.entries())r.call(c,v(l,e),o,s)}:t==="keys"?()=>(h(n,f),e?.onGet?.(u({name:e.name,target:n,key:t})),n.keys()):t==="values"?()=>(h(n,f),e?.onGet?.(u({name:e.name,target:n,key:t})),O(n.values(),e,r=>v(r,e))):t==="entries"?()=>(h(n,f),e?.onGet?.(u({name:e.name,target:n,key:t})),O(n.entries(),e,([r,c])=>[r,v(c,e)])):t===Symbol.iterator?()=>(h(n,f),e?.onGet?.(u({name:e.name,target:n,key:t})),O(n[Symbol.iterator](),e,([r,c])=>[r,v(c,e)])):t===Symbol.toStringTag?"Map":Reflect.get(n,t,s)}),Z=Object.freeze({object:Ge,array:Te,set:Ee,map:Ae});function w(e,n){if(de(e))return N(e);if(q(e))return e;const t=n||{},s={...t,deep:t?.deep??!0},r=w.getStringType(e);if(!w.hasHandler(r))return e;const c=new Proxy(e,w.typeHandler(r,s));return Se(e,c),c}const _e=e=>{const n=Object.getPrototypeOf(e);return n===null?!0:n===Object.prototype};w.getStringType=e=>e===null?"null":typeof e!="object"?typeof e:Array.isArray(e)?"array":e instanceof Map?"map":e instanceof Set?"set":_e(e)?"object":"native";w.hasHandler=e=>!!Z[e];w.typeHandler=(e,n)=>Z[e]?.(n);function p(e,n,t){const s=Q({get:e,onChange:({value:c,prev:o})=>n(c,o)}),r=s.run();return t?.immediate&&n(r),()=>s.dispose()}function z(e,n,t){let s,r;if(n.cache){const c=be({...n,get:n.get,name:e,onImmediateChange:t?.computed?.onImmediateChange,onChange:t?.computed?.onChange,onGet:t?.computed?.onGet,onSet:t?.computed?.onSet});s=function(){return T(this),c.value},r=function(l){c.value=l}}else s=function(){return T(this),n.get.call(this)},r=function(...o){n.set.call(this,...o)};return{enumerable:n.enumerable,configurable:n.configurable,get:s,set:r}}function L(e,n,t){const s={value:n.value},r=w(s,{name:e,onGet:t?.reactive?.onGet,onHas:t?.reactive?.onHas,onSet:t?.reactive?.onSet,onDelete:t?.reactive?.onDelete,needsProxy:t?.reactive?.needsProxy,deep:n.deep??t?.reactive?.deep});return{configurable:n.configurable,enumerable:n.enumerable,get:function(){T(this);const{value:o}=r;return Array.isArray(o)&&Reflect.get(o,"length"),o},set:function(o){r.value=o}}}function k(e,n,t,s){Object.defineProperty(e,n,z(n,t,s))}function ee(e,n,t,s){Object.defineProperty(e,n,L(n,t,s))}const ne={toRaw:me,watch:p,describeProperty:L,defineProperty:ee,describeComputed:z,defineComputed:k},_=new Set(["__proto__","__ob__"]),H="value",Pe=new Set([Symbol.iterator,"size","has","get","values","keys","entries","forEach"]),He=e=>{e[H]+=1};function Me(e){if(!e?.reactive||typeof e.reactive!="function")throw new Error(`MadroneVue3 requires Vue's reactive function. Either use "madrone/integrations/vue" for automatic setup, or pass { reactive, toRaw } from "vue".`);const{reactive:n,toRaw:t}=e,s=t??(a=>a),r=new WeakMap,c=new WeakMap,o=(a,i)=>{if(!Pe.has(i))return;const m=s(a);let d=c.get(m);d||(d=new Set,c.set(m,d)),d.add(i)},l=(a,i)=>{const m=s(a);let d=r.get(m);d||(d=new Map,r.set(m,d));let R=d.get(i);return R||(R=n({[H]:0}),d.set(i,R)),R},E=(a,i)=>{_.has(i)||Reflect.get(l(a,i),H)},y=(a,i)=>{_.has(i)||He(l(a,i))},te=(a,i)=>{const m=s(a),d=r.get(m);d&&y(d,i),r.delete(m)},I={computed:{onGet:a=>{E(a,a.name)},onImmediateChange:a=>{y(a,a.name)}},reactive:{onGet:({target:a,key:i})=>{T(a),E(a,i),o(a,i)},onHas:({target:a,key:i})=>{E(a,i)},onDelete:({target:a,key:i})=>{te(a,i)},onSet:({target:a,key:i,keysChanged:m})=>{if(y(a,i),m){y(a);const d=c.get(s(a));if(d)for(const R of d)y(a,R)}},needsProxy:({key:a})=>!_.has(a)}};function re(a,i){return z(a,i,I)}function se(a,i){return L(a,i,I)}function ce(a,i,m){return k(a,i,m,I)}function ae(a,i,m){return ee(a,i,m,I)}return{toRaw:ne.toRaw,watch:p,describeProperty:se,defineProperty:ae,describeComputed:re,defineComputed:ce}}exports.MadroneState=ne;exports.MadroneVue3=Me;exports.addIntegration=ue;exports.getIntegration=$;exports.lastAccessed=le;exports.removeIntegration=fe;exports.toRaw=V;