@madronejs/core 1.1.1 → 1.1.2

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.
@@ -0,0 +1,577 @@
1
+ const M = /* @__PURE__ */ new Set();
2
+ let x;
3
+ function ce() {
4
+ return [...M];
5
+ }
6
+ function ae() {
7
+ return ce().at(-1);
8
+ }
9
+ function Y() {
10
+ x = ae();
11
+ }
12
+ function He(e) {
13
+ e && (M.add(e), Y());
14
+ }
15
+ function Me(e) {
16
+ M.delete(e), Y();
17
+ }
18
+ function oe() {
19
+ return x;
20
+ }
21
+ const U = /* @__PURE__ */ new WeakMap();
22
+ function $(e) {
23
+ return (oe()?.toRaw ?? ((t) => t))(e);
24
+ }
25
+ function T(e) {
26
+ U.set($(e), Date.now());
27
+ }
28
+ function De(e) {
29
+ return U.get($(e));
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();
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 = () => {
36
+ _ === null && (_ = /* @__PURE__ */ Symbol("scheduler"), queueMicrotask(() => {
37
+ try {
38
+ for (; I.length > 0; ) {
39
+ const e = I;
40
+ I = [];
41
+ for (const n of e)
42
+ try {
43
+ n();
44
+ } catch (t) {
45
+ console.error("Unhandled error in scheduled task:", t);
46
+ }
47
+ }
48
+ } finally {
49
+ _ = null;
50
+ }
51
+ }));
52
+ }, he = (e) => {
53
+ I.push(e), de();
54
+ }, me = (e, n) => {
55
+ const t = C.get(e), s = t?.get(n);
56
+ if (s) {
57
+ for (const r of s)
58
+ b.get(r)?.get(n)?.delete(e);
59
+ s.clear(), t.delete(n), t.size === 0 && C.delete(e);
60
+ }
61
+ }, B = (e) => {
62
+ const n = C.get(e);
63
+ if (n) {
64
+ for (const [t, s] of n)
65
+ for (const r of s)
66
+ b.get(r)?.get(t)?.delete(e);
67
+ C.delete(e);
68
+ }
69
+ }, q = (e, n) => {
70
+ const t = Se();
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);
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);
77
+ }, h = (e, n) => {
78
+ const t = g(e);
79
+ t && q(t, n);
80
+ }, F = (e, n) => {
81
+ const t = b.get(e);
82
+ if (t?.get(n))
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() {
89
+ return P.at(-1);
90
+ }
91
+ class N {
92
+ /**
93
+ * Factory method to create a new ObservableItem.
94
+ * @internal
95
+ */
96
+ static create(...n) {
97
+ return new N(...n);
98
+ }
99
+ /**
100
+ * Creates a new ObservableItem.
101
+ * @param options - Configuration options
102
+ */
103
+ constructor(n) {
104
+ 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 = {
105
+ onGet: n.onGet,
106
+ onSet: n.onSet,
107
+ onChange: n.onChange,
108
+ onImmediateChange: n.onImmediateChange
109
+ };
110
+ }
111
+ callHook(n) {
112
+ typeof this.hooks[n] == "function" && this.hooks[n](this);
113
+ }
114
+ /**
115
+ * Stop observing and dispose of the observer
116
+ * @returns {void}
117
+ */
118
+ dispose() {
119
+ B(this), this.alive = !1, this.dirty = !1, this.cachedVal = void 0, this.prev = void 0;
120
+ }
121
+ wrap(n) {
122
+ P.push(this);
123
+ try {
124
+ return n();
125
+ } finally {
126
+ P.pop();
127
+ }
128
+ }
129
+ setDirty() {
130
+ this.alive && !this.dirty && (this.dirty = !0, F(this, L), this.prev = this.cachedVal, this.cachedVal = void 0, this.callHook(
131
+ "onImmediateChange"
132
+ /* onImmediateChange */
133
+ ), he(() => this.notifyChange()));
134
+ }
135
+ notifyChange() {
136
+ this.callHook(
137
+ "onChange"
138
+ /* onChange */
139
+ ), this.prev = void 0;
140
+ }
141
+ run() {
142
+ if (!this.alive) return;
143
+ const n = this.wrap(() => {
144
+ if (this.cache && this.dirty || !this.cache) {
145
+ B(this);
146
+ try {
147
+ this.cachedVal = this.get();
148
+ } finally {
149
+ this.dirty = !1;
150
+ }
151
+ }
152
+ return this.cachedVal;
153
+ });
154
+ return q(this, L), this.callHook(
155
+ "onGet"
156
+ /* onGet */
157
+ ), n;
158
+ }
159
+ /** The value of the observer */
160
+ get value() {
161
+ return this.run();
162
+ }
163
+ set value(n) {
164
+ if (typeof this.set == "function")
165
+ this.set(n), this.callHook(
166
+ "onSet"
167
+ /* onSet */
168
+ );
169
+ else
170
+ throw new TypeError(`No setter defined for "${this.name}"`);
171
+ }
172
+ }
173
+ function K(...e) {
174
+ return N.create(...e);
175
+ }
176
+ function ve(e) {
177
+ return K(e);
178
+ }
179
+ const u = (e) => {
180
+ const {
181
+ name: n,
182
+ target: t,
183
+ key: s,
184
+ receiver: r,
185
+ value: c,
186
+ keysChanged: o = !1,
187
+ valueChanged: l = !1
188
+ } = e;
189
+ return {
190
+ name: n,
191
+ target: t,
192
+ key: s,
193
+ receiver: r,
194
+ value: c,
195
+ keysChanged: o,
196
+ valueChanged: l
197
+ };
198
+ }, we = (e, n, t, s) => {
199
+ h(n, t), e?.onGet && e.onGet(u({
200
+ name: e.name,
201
+ target: n,
202
+ key: t,
203
+ receiver: s
204
+ }));
205
+ }, Ce = (e, n, t, s) => {
206
+ 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({
209
+ name: e.name,
210
+ target: n,
211
+ key: t,
212
+ value: s,
213
+ keysChanged: l,
214
+ valueChanged: o
215
+ }));
216
+ }, Re = (e, n, t) => {
217
+ S(n, t), S(n, f), e?.onDelete && e.onDelete(u({
218
+ name: e.name,
219
+ target: n,
220
+ key: t,
221
+ keysChanged: !0
222
+ }));
223
+ }, W = (e, n, t) => {
224
+ h(n, f), e?.onHas && e.onHas(u({ name: e.name, target: n, key: t }));
225
+ };
226
+ function Q(e) {
227
+ const n = e.needsProxy || (() => !0);
228
+ return {
229
+ get: (t, s, r) => {
230
+ we(e, t, s, r);
231
+ const c = Reflect.get(t, s, r);
232
+ return e?.deep && c && typeof c == "object" && n({ target: t, key: s, value: c }) && Object.getOwnPropertyDescriptor(t, s)?.configurable ? w(c, e) : c;
233
+ },
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)),
238
+ getPrototypeOf: (t) => Object.getPrototypeOf(t)
239
+ };
240
+ }
241
+ const be = (e) => ({
242
+ ...Q(e)
243
+ }), Oe = (e) => ({
244
+ ...Q(e)
245
+ }), v = (e, n) => n?.deep && e && typeof e == "object" ? w(e, n) : e;
246
+ function* O(e, n, t) {
247
+ for (const s of e)
248
+ yield t(s);
249
+ }
250
+ const ye = (e) => ({
251
+ get: (n, t, s) => t === "size" ? (h(n, f), e?.onGet?.(u({
252
+ name: e.name,
253
+ target: n,
254
+ key: t
255
+ })), n.size) : t === "has" ? (r) => (h(n, f), e?.onGet?.(u({
256
+ name: e.name,
257
+ target: n,
258
+ key: t,
259
+ value: r
260
+ })), n.has(r)) : t === "add" ? (r) => {
261
+ const c = n.has(r);
262
+ return n.add(r), c || (S(n, f), e?.onSet?.(u({
263
+ name: e.name,
264
+ target: n,
265
+ key: t,
266
+ value: r,
267
+ keysChanged: !0
268
+ }))), s;
269
+ } : t === "delete" ? (r) => {
270
+ const c = n.has(r), o = n.delete(r);
271
+ return c && (S(n, f), e?.onDelete?.(u({
272
+ name: e.name,
273
+ target: n,
274
+ key: t,
275
+ value: r,
276
+ keysChanged: !0
277
+ }))), o;
278
+ } : t === "clear" ? () => {
279
+ const r = n.size > 0;
280
+ n.clear(), r && (S(n, f), e?.onDelete?.(u({
281
+ name: e.name,
282
+ target: n,
283
+ key: t,
284
+ keysChanged: !0
285
+ })));
286
+ } : t === "forEach" ? (r, c) => {
287
+ h(n, f), e?.onGet?.(u({
288
+ name: e.name,
289
+ target: n,
290
+ key: t
291
+ }));
292
+ for (const [o, l] of n.entries())
293
+ r.call(c, v(o, e), v(l, e), s);
294
+ } : t === "values" || t === "keys" ? () => (h(n, f), e?.onGet?.(u({
295
+ name: e.name,
296
+ target: n,
297
+ key: t
298
+ })), O(n.values(), e, (r) => v(r, e))) : t === "entries" ? () => (h(n, f), e?.onGet?.(u({
299
+ name: e.name,
300
+ target: n,
301
+ key: t
302
+ })), O(
303
+ n.entries(),
304
+ e,
305
+ ([r, c]) => [v(r, e), v(c, e)]
306
+ )) : t === Symbol.iterator ? () => (h(n, f), e?.onGet?.(u({
307
+ name: e.name,
308
+ target: n,
309
+ key: t
310
+ })), O(n[Symbol.iterator](), e, (r) => v(r, e))) : t === Symbol.toStringTag ? "Set" : Reflect.get(n, t, s)
311
+ }), Ge = (e) => ({
312
+ get: (n, t, s) => t === "size" ? (h(n, f), e?.onGet?.(u({
313
+ name: e.name,
314
+ target: n,
315
+ key: t
316
+ })), n.size) : t === "has" ? (r) => (h(n, r), e?.onGet?.(u({
317
+ name: e.name,
318
+ target: n,
319
+ key: r
320
+ })), n.has(r)) : t === "get" ? (r) => (h(n, r), e?.onGet?.(u({
321
+ name: e.name,
322
+ target: n,
323
+ key: r
324
+ })), 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({
327
+ name: e.name,
328
+ target: n,
329
+ key: r,
330
+ value: c,
331
+ keysChanged: !o,
332
+ valueChanged: l !== c
333
+ }))), s;
334
+ } : 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({
337
+ name: e.name,
338
+ target: n,
339
+ key: r,
340
+ keysChanged: !0
341
+ }))), o;
342
+ } : t === "clear" ? () => {
343
+ const r = [...n.keys()], c = n.size > 0;
344
+ if (n.clear(), c) {
345
+ S(n, f);
346
+ for (const o of r)
347
+ S(n, o);
348
+ e?.onDelete?.(u({
349
+ name: e.name,
350
+ target: n,
351
+ key: t,
352
+ keysChanged: !0
353
+ }));
354
+ }
355
+ } : t === "forEach" ? (r, c) => {
356
+ h(n, f), e?.onGet?.(u({
357
+ name: e.name,
358
+ target: n,
359
+ key: t
360
+ }));
361
+ for (const [o, l] of n.entries())
362
+ r.call(c, v(l, e), o, s);
363
+ } : t === "keys" ? () => (h(n, f), e?.onGet?.(u({
364
+ name: e.name,
365
+ target: n,
366
+ key: t
367
+ })), n.keys()) : t === "values" ? () => (h(n, f), e?.onGet?.(u({
368
+ name: e.name,
369
+ target: n,
370
+ key: t
371
+ })), O(n.values(), e, (r) => v(r, e))) : t === "entries" ? () => (h(n, f), e?.onGet?.(u({
372
+ name: e.name,
373
+ target: n,
374
+ key: t
375
+ })), O(
376
+ n.entries(),
377
+ e,
378
+ ([r, c]) => [r, v(c, e)]
379
+ )) : t === Symbol.iterator ? () => (h(n, f), e?.onGet?.(u({
380
+ name: e.name,
381
+ target: n,
382
+ key: t
383
+ })), O(
384
+ n[Symbol.iterator](),
385
+ e,
386
+ ([r, c]) => [r, v(c, e)]
387
+ )) : 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
393
+ });
394
+ function w(e, n) {
395
+ if (ie(e)) return g(e);
396
+ if (X(e)) return e;
397
+ const t = n || {}, s = { ...t, deep: t?.deep ?? !0 }, r = w.getStringType(e);
398
+ if (!w.hasHandler(r)) return e;
399
+ const c = new Proxy(e, w.typeHandler(r, s));
400
+ return le(e, c), c;
401
+ }
402
+ const Ie = (e) => {
403
+ const n = Object.getPrototypeOf(e);
404
+ return n === null ? !0 : n === Object.prototype;
405
+ };
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({
411
+ get: e,
412
+ onChange: ({ value: c, prev: o }) => n(c, o)
413
+ }), r = s.run();
414
+ return t?.immediate && n(r), () => s.dispose();
415
+ }
416
+ function j(e, n, t) {
417
+ let s, r;
418
+ if (n.cache) {
419
+ const c = ve({
420
+ ...n,
421
+ get: n.get,
422
+ name: e,
423
+ onImmediateChange: t?.computed?.onImmediateChange,
424
+ onChange: t?.computed?.onChange,
425
+ onGet: t?.computed?.onGet,
426
+ onSet: t?.computed?.onSet
427
+ });
428
+ s = function() {
429
+ return T(this), c.value;
430
+ }, r = function(l) {
431
+ c.value = l;
432
+ };
433
+ } else
434
+ s = function() {
435
+ return T(this), n.get.call(this);
436
+ }, r = function(...o) {
437
+ n.set.call(this, ...o);
438
+ };
439
+ return {
440
+ enumerable: n.enumerable,
441
+ configurable: n.configurable,
442
+ get: s,
443
+ set: r
444
+ };
445
+ }
446
+ function z(e, n, t) {
447
+ const s = { value: n.value }, r = w(s, {
448
+ name: e,
449
+ onGet: t?.reactive?.onGet,
450
+ onHas: t?.reactive?.onHas,
451
+ onSet: t?.reactive?.onSet,
452
+ onDelete: t?.reactive?.onDelete,
453
+ needsProxy: t?.reactive?.needsProxy,
454
+ deep: n.deep ?? t?.reactive?.deep
455
+ });
456
+ return {
457
+ configurable: n.configurable,
458
+ enumerable: n.enumerable,
459
+ get: function() {
460
+ T(this);
461
+ const { value: o } = r;
462
+ return Array.isArray(o) && Reflect.get(o, "length"), o;
463
+ },
464
+ set: function(o) {
465
+ r.value = o;
466
+ }
467
+ };
468
+ }
469
+ function p(e, n, t, s) {
470
+ Object.defineProperty(e, n, j(n, t, s));
471
+ }
472
+ function k(e, n, t, s) {
473
+ Object.defineProperty(e, n, z(n, t, s));
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([
483
+ Symbol.iterator,
484
+ "size",
485
+ "has",
486
+ "get",
487
+ "values",
488
+ "keys",
489
+ "entries",
490
+ "forEach"
491
+ ]), _e = (e) => {
492
+ e[H] += 1;
493
+ };
494
+ function Ve(e) {
495
+ if (!e?.reactive || typeof e.reactive != "function")
496
+ throw new Error(
497
+ `MadroneVue3 requires Vue's reactive function. Either use "madrone/integrations/vue" for automatic setup, or pass { reactive, toRaw } from "vue".`
498
+ );
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 = {
518
+ computed: {
519
+ onGet: (a) => {
520
+ E(a, a.name);
521
+ },
522
+ onImmediateChange: (a) => {
523
+ y(a, a.name);
524
+ }
525
+ },
526
+ reactive: {
527
+ onGet: ({ target: a, key: i }) => {
528
+ T(a), E(a, i), o(a, i);
529
+ },
530
+ onHas: ({ target: a, key: i }) => {
531
+ E(a, i);
532
+ },
533
+ onDelete: ({ target: a, key: i }) => {
534
+ ee(a, i);
535
+ },
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
+ },
545
+ needsProxy: ({ key: a }) => !A.has(a)
546
+ }
547
+ };
548
+ function ne(a, i) {
549
+ return j(a, i, G);
550
+ }
551
+ function te(a, i) {
552
+ return z(a, i, G);
553
+ }
554
+ function re(a, i, m) {
555
+ return p(a, i, m, G);
556
+ }
557
+ function se(a, i, m) {
558
+ return k(a, i, m, G);
559
+ }
560
+ return {
561
+ toRaw: Te.toRaw,
562
+ watch: Z,
563
+ describeProperty: te,
564
+ defineProperty: se,
565
+ describeComputed: ne,
566
+ defineComputed: re
567
+ };
568
+ }
569
+ 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
577
+ };
@@ -0,0 +1 @@
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;
package/dist/core.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("./MadroneVue3-2XGQsm-S.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){if(typeof n.get=="function"){const u={...n,enumerable:!0,configurable:!0};return u.get=function(){return d(this,t,n,r),this[t]},u.set=function(I){d(this,t,n,r),this[t]=I},u}return 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 S={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=S;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-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;
package/dist/core.js CHANGED
@@ -1,5 +1,5 @@
1
- import { g as i, a as p, l as v, r as w, M as P } from "./MadroneVue3-C5d5X6U2.js";
2
- import { b as j, t as V } from "./MadroneVue3-C5d5X6U2.js";
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";
3
3
  function f(e, t, n) {
4
4
  const r = i();
5
5
  if (!r)
@@ -74,19 +74,17 @@ function l(e, t, n, r) {
74
74
  }), b(e, t), !0) : !1;
75
75
  }
76
76
  function m(e, t, n, r) {
77
- if (typeof n.get == "function") {
78
- const u = {
79
- ...n,
80
- enumerable: !0,
81
- configurable: !0
82
- };
83
- return u.get = function() {
77
+ return typeof n.get == "function" ? {
78
+ ...n,
79
+ enumerable: !0,
80
+ configurable: !0,
81
+ get: function() {
84
82
  return l(this, t, n, r), this[t];
85
- }, u.set = function(O) {
86
- l(this, t, n, r), this[t] = O;
87
- }, u;
88
- }
89
- return n;
83
+ },
84
+ set: function(w) {
85
+ l(this, t, n, r), this[t] = w;
86
+ }
87
+ } : n;
90
88
  }
91
89
  function N(e, t, n) {
92
90
  return m(e, t, n);
@@ -99,41 +97,41 @@ N.configure = function(t) {
99
97
  { descriptors: t }
100
98
  );
101
99
  };
102
- function a(e, t, n) {
100
+ function s(e, t, n) {
103
101
  return i() && !g(e, t) ? (b(e, t), f(e, t, {
104
102
  ...Object.getOwnPropertyDescriptor(e, t),
105
103
  enumerable: !0,
106
104
  ...n?.descriptors
107
105
  }), !0) : !1;
108
106
  }
109
- function s(e, t, n) {
110
- typeof e == "function" ? a(e, t) : Object.defineProperty(e, t, {
107
+ function a(e, t, n) {
108
+ typeof e == "function" ? s(e, t) : Object.defineProperty(e, t, {
111
109
  configurable: !0,
112
110
  enumerable: !0,
113
111
  get() {
114
- if (a(this, t, n))
112
+ if (s(this, t, n))
115
113
  return this[t];
116
114
  },
117
115
  set(r) {
118
- a(this, t, n) && (this[t] = r);
116
+ s(this, t, n) && (this[t] = r);
119
117
  }
120
118
  });
121
119
  }
122
120
  function h(e, t) {
123
- return s(e, t);
121
+ return a(e, t);
124
122
  }
125
123
  h.shallow = function(t, n) {
126
- return s(t, n, { descriptors: { deep: !1 } });
124
+ return a(t, n, { descriptors: { deep: !1 } });
127
125
  };
128
126
  h.configure = function(t) {
129
- return (n, r) => s(n, r, { descriptors: t });
127
+ return (n, r) => a(n, r, { descriptors: t });
130
128
  };
131
129
  p(P);
132
130
  const x = {
133
131
  /** Configure a global plugin */
134
132
  use: p,
135
133
  /** Remove a global plugin */
136
- unuse: w,
134
+ unuse: v,
137
135
  /** Create reactive objects */
138
136
  auto: M,
139
137
  /** Define properties on objects */
@@ -141,7 +139,7 @@ const x = {
141
139
  /** Watch reactive objects */
142
140
  watch: D,
143
141
  /** Get the last time any reactive property was touched on a given object */
144
- lastAccessed: v
142
+ lastAccessed: O
145
143
  };
146
144
  export {
147
145
  P as MadroneState,
package/dist/vue.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";const e=require("vue"),r=require("./MadroneVue3-2XGQsm-S.cjs"),t=r.MadroneVue3({reactive:e.reactive,toRaw:e.toRaw});module.exports=t;
1
+ "use strict";const e=require("vue"),r=require("./MadroneVue3-SGZmwRMI.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-C5d5X6U2.js";
2
+ import { b as r } from "./MadroneVue3-Bh1p2UjI.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.1",
3
+ "version": "1.1.2",
4
4
  "description": "Object composition and reactivity framework.",
5
5
  "private": false,
6
6
  "license": "MIT",
@@ -51,24 +51,24 @@
51
51
  "vue"
52
52
  ],
53
53
  "devDependencies": {
54
- "@eslint/compat": "~1.4.0",
55
- "@eslint/eslintrc": "~3.3.1",
56
- "@eslint/js": "~9.37.0",
57
- "@stylistic/eslint-plugin": "~5.4.0",
58
- "@types/lodash": "~4.17.20",
59
- "@vitest/coverage-v8": "~3.2.4",
60
- "eslint": "~9.37.0",
54
+ "@eslint/compat": "~2.0.0",
55
+ "@eslint/eslintrc": "~3.3.3",
56
+ "@eslint/js": "~9.39.2",
57
+ "@stylistic/eslint-plugin": "~5.6.1",
58
+ "@types/lodash": "~4.17.21",
59
+ "@vitest/coverage-v8": "~4.0.16",
60
+ "eslint": "~9.39.2",
61
61
  "eslint-plugin-import": "~2.32.0",
62
- "eslint-plugin-unicorn": "~61.0.2",
63
- "globals": "~16.4.0",
64
- "happy-dom": "~20.0.0",
62
+ "eslint-plugin-unicorn": "~62.0.0",
63
+ "globals": "~16.5.0",
64
+ "happy-dom": "~20.0.11",
65
65
  "lodash": "~4.17.21",
66
66
  "tsc-alias": "~1.8.16",
67
- "typedoc": "~0.28.14",
67
+ "typedoc": "~0.28.15",
68
68
  "typescript": "~5.9.3",
69
- "typescript-eslint": "8.46.1",
70
- "vite": "~7.1.10",
71
- "vitest": "~3.2.4",
69
+ "typescript-eslint": "8.50.0",
70
+ "vite": "~7.3.0",
71
+ "vitest": "~4.0.16",
72
72
  "vue3": "npm:vue@~3.5.13"
73
73
  },
74
74
  "engines": {
@@ -84,6 +84,8 @@
84
84
  "cov": "CI=true NODE_ENV=test vitest run --coverage && open coverage/lcov-report/index.html",
85
85
  "build": "vite build",
86
86
  "build-types": "tsc -p ./tsconfig.types.json && tsc-alias -p tsconfig.types.json",
87
- "build-all": "pnpm cleanup && pnpm build && pnpm build-types"
87
+ "build-all": "pnpm cleanup && pnpm build && pnpm build-types",
88
+ "check-updates": "pnpm -r -l outdated",
89
+ "check-upgrade": "pnpm -r -i --latest update"
88
90
  }
89
91
  }
@@ -1 +0,0 @@
1
- "use strict";const _=new Set;let W;function se(){return[..._]}function ae(){return se().at(-1)}function x(){W=ae()}function oe(e){e&&(_.add(e),x())}function ue(e){_.delete(e),x()}function U(){return W}const Y=new WeakMap;function H(e){return(U()?.toRaw??(t=>t))(e)}function I(e){Y.set(H(e),Date.now())}function ie(e){return Y.get(H(e))}const f=Symbol("keys"),N=Symbol("computed"),M=new WeakMap,V=new WeakMap,R=new WeakMap,C=new WeakMap;let y=[],T=null;const fe=e=>M.has(e),$=e=>V.has(e),D=e=>M.get(e),le=e=>V.get(e),de=e=>$(e)?le(e):e,he=(e,n)=>{M.set(e,n),V.set(n,e)},me=()=>{T===null&&(T=Symbol("scheduler"),queueMicrotask(()=>{try{for(;y.length>0;){const e=y;y=[];for(const n of e)try{n()}catch(t){console.error("Unhandled error in scheduled task:",t)}}}finally{T=null}}))},ve=e=>{y.push(e),me()},Se=(e,n)=>{const t=C.get(e),c=t?.get(n);if(c){for(const r of c)R.get(r)?.get(n)?.delete(e);c.clear(),t.delete(n),t.size===0&&C.delete(e)}},z=e=>{const n=C.get(e);if(n){for(const[t,c]of n)for(const r of c)R.get(r)?.get(t)?.delete(e);C.delete(e)}},X=(e,n)=>{const t=we();if(!t)return;C.has(t)||C.set(t,new Map),R.has(e)||R.set(e,new Map);const c=R.get(e),r=C.get(t);c.has(n)||c.set(n,new Set),r.has(n)||r.set(n,new Set);const s=c.get(n),a=r.get(n);s.add(t),a.add(e)},d=(e,n)=>{const t=D(e);t&&X(t,n)},q=(e,n)=>{const t=R.get(e);if(t?.get(n))for(const c of t.get(n))c.setDirty(),Se(c,n)},h=(e,n)=>{q(D(e),n)},A=[];function we(){return A.at(-1)}class g{static create(...n){return new g(...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(){z(this),this.alive=!1,this.dirty=!1,this.cachedVal=void 0,this.prev=void 0}wrap(n){A.push(this);try{return n()}finally{A.pop()}}setDirty(){this.alive&&!this.dirty&&(this.dirty=!0,q(this,N),this.prev=this.cachedVal,this.cachedVal=void 0,this.callHook("onImmediateChange"),ve(()=>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){z(this);try{this.cachedVal=this.get()}finally{this.dirty=!1}}return this.cachedVal});return X(this,N),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 F(...e){return g.create(...e)}function Ce(e){return F(e)}const i=e=>{const{name:n,target:t,key:c,receiver:r,value:s,keysChanged:a=!1,valueChanged:l=!1}=e;return{name:n,target:t,key:c,receiver:r,value:s,keysChanged:a,valueChanged:l}},Re=(e,n,t,c)=>{d(n,t),e?.onGet&&e.onGet(i({name:e.name,target:n,key:t,receiver:c}))},be=(e,n,t,c)=>{const r=n[t],s=Array.isArray(n);let a=!1,l=!1;t in n||(h(n,f),l=!0,s&&h(n,"length")),(r!==c||s)&&(h(n,t),a=!0),(l||a)&&e?.onSet&&e.onSet(i({name:e.name,target:n,key:t,value:c,keysChanged:l,valueChanged:a}))},Oe=(e,n,t)=>{h(n,t),h(n,f),e?.onDelete&&e.onDelete(i({name:e.name,target:n,key:t,keysChanged:!0}))},B=(e,n,t)=>{d(n,f),e?.onHas&&e.onHas(i({name:e.name,target:n,key:t}))};function Q(e){const n=e.needsProxy||(()=>!0);return{get:(t,c,r)=>{Re(e,t,c,r);const s=Reflect.get(t,c,r);return e?.deep&&s&&typeof s=="object"&&n({target:t,key:c,value:s})&&Object.getOwnPropertyDescriptor(t,c)?.configurable?S(s,e):s},set:(t,c,r)=>(be(e,t,c,r),Reflect.set(t,c,r)),deleteProperty:(...t)=>(Oe(e,...t),Reflect.deleteProperty(...t)),has:(t,c)=>(B(e,t),Reflect.has(t,c)),ownKeys:t=>(B(e,t),Reflect.ownKeys(t)),getPrototypeOf:t=>Object.getPrototypeOf(t)}}const Ge=e=>({...Q(e)}),ye=e=>({...Q(e)}),v=(e,n)=>n?.deep&&e&&typeof e=="object"?S(e,n):e;function*b(e,n,t){for(const c of e)yield t(c)}const Ie=e=>({get:(n,t,c)=>t==="size"?(d(n,f),e?.onGet?.(i({name:e.name,target:n,key:t})),n.size):t==="has"?r=>(d(n,f),e?.onGet?.(i({name:e.name,target:n,key:t,value:r})),n.has(r)):t==="add"?r=>{const s=n.has(r);return n.add(r),s||(h(n,f),e?.onSet?.(i({name:e.name,target:n,key:t,value:r,keysChanged:!0}))),c}:t==="delete"?r=>{const s=n.has(r),a=n.delete(r);return s&&(h(n,f),e?.onDelete?.(i({name:e.name,target:n,key:t,value:r,keysChanged:!0}))),a}:t==="clear"?()=>{const r=n.size>0;n.clear(),r&&(h(n,f),e?.onDelete?.(i({name:e.name,target:n,key:t,keysChanged:!0})))}:t==="forEach"?(r,s)=>{d(n,f),e?.onGet?.(i({name:e.name,target:n,key:t}));for(const[a,l]of n.entries())r.call(s,v(a,e),v(l,e),c)}:t==="values"||t==="keys"?()=>(d(n,f),e?.onGet?.(i({name:e.name,target:n,key:t})),b(n.values(),e,r=>v(r,e))):t==="entries"?()=>(d(n,f),e?.onGet?.(i({name:e.name,target:n,key:t})),b(n.entries(),e,([r,s])=>[v(r,e),v(s,e)])):t===Symbol.iterator?()=>(d(n,f),e?.onGet?.(i({name:e.name,target:n,key:t})),b(n[Symbol.iterator](),e,r=>v(r,e))):t===Symbol.toStringTag?"Set":Reflect.get(n,t,c)}),Te=e=>({get:(n,t,c)=>t==="size"?(d(n,f),e?.onGet?.(i({name:e.name,target:n,key:t})),n.size):t==="has"?r=>(d(n,r),e?.onGet?.(i({name:e.name,target:n,key:r})),n.has(r)):t==="get"?r=>(d(n,r),e?.onGet?.(i({name:e.name,target:n,key:r})),v(n.get(r),e)):t==="set"?(r,s)=>{const a=n.has(r),l=n.get(r);return n.set(r,s),a||h(n,f),(!a||l!==s)&&(h(n,r),e?.onSet?.(i({name:e.name,target:n,key:r,value:s,keysChanged:!a,valueChanged:l!==s}))),c}:t==="delete"?r=>{const s=n.has(r),a=n.delete(r);return s&&(h(n,f),h(n,r),e?.onDelete?.(i({name:e.name,target:n,key:r,keysChanged:!0}))),a}:t==="clear"?()=>{const r=[...n.keys()],s=n.size>0;if(n.clear(),s){h(n,f);for(const a of r)h(n,a);e?.onDelete?.(i({name:e.name,target:n,key:t,keysChanged:!0}))}}:t==="forEach"?(r,s)=>{d(n,f),e?.onGet?.(i({name:e.name,target:n,key:t}));for(const[a,l]of n.entries())r.call(s,v(l,e),a,c)}:t==="keys"?()=>(d(n,f),e?.onGet?.(i({name:e.name,target:n,key:t})),n.keys()):t==="values"?()=>(d(n,f),e?.onGet?.(i({name:e.name,target:n,key:t})),b(n.values(),e,r=>v(r,e))):t==="entries"?()=>(d(n,f),e?.onGet?.(i({name:e.name,target:n,key:t})),b(n.entries(),e,([r,s])=>[r,v(s,e)])):t===Symbol.iterator?()=>(d(n,f),e?.onGet?.(i({name:e.name,target:n,key:t})),b(n[Symbol.iterator](),e,([r,s])=>[r,v(s,e)])):t===Symbol.toStringTag?"Map":Reflect.get(n,t,c)}),J=Object.freeze({object:Ge,array:ye,set:Ie,map:Te});function S(e,n){if(fe(e))return D(e);if($(e))return e;const t=n||{},c={...t,deep:t?.deep??!0},r=S.getStringType(e);if(!S.hasHandler(r))return e;const s=new Proxy(e,S.typeHandler(r,c));return he(e,s),s}const Ee=e=>{const n=Object.getPrototypeOf(e);return n===null?!0:n===Object.prototype};S.getStringType=e=>e===null?"null":typeof e!="object"?typeof e:Array.isArray(e)?"array":e instanceof Map?"map":e instanceof Set?"set":Ee(e)?"object":"native";S.hasHandler=e=>!!J[e];S.typeHandler=(e,n)=>J[e]?.(n);function Z(e,n,t){const c=F({get:e,onChange:({value:s,prev:a})=>n(s,a)}),r=c.run();return t?.immediate&&n(r),()=>c.dispose()}function j(e,n,t){let c,r;if(n.cache){const s=Ce({...n,get:n.get,name:e,onImmediateChange:t?.computed?.onImmediateChange,onChange:t?.computed?.onChange,onGet:t?.computed?.onGet,onSet:t?.computed?.onSet});c=function(){return I(this),s.value},r=function(l){s.value=l}}else c=function(){return I(this),n.get.call(this)},r=function(...a){n.set.call(this,...a)};return{enumerable:n.enumerable,configurable:n.configurable,get:c,set:r}}function L(e,n,t){const c={value:n.value},r=S(c,{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(){I(this);const{value:a}=r;return Array.isArray(a)&&Reflect.get(a,"length"),a},set:function(a){r.value=a}}}function p(e,n,t,c){Object.defineProperty(e,n,j(n,t,c))}function K(e,n,t,c){Object.defineProperty(e,n,L(n,t,c))}const k={toRaw:de,watch:Z,describeProperty:L,defineProperty:K,describeComputed:j,defineComputed:p},E=new Set(["__proto__","__ob__"]),P="value",Ae=e=>{e[P]+=1};function Pe(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,c=t??(o=>o),r=new WeakMap,s=(o,u)=>{const m=c(o);let w=r.get(m);w||(w=new Map,r.set(m,w));let G=w.get(u);return G||(G=n({[P]:0}),w.set(u,G)),G},a=(o,u)=>{E.has(u)||Reflect.get(s(o,u),P)},l=(o,u)=>{E.has(u)||Ae(s(o,u))},ee=(o,u)=>{const m=c(o),w=r.get(m);w&&l(w,u),r.delete(m)},O={computed:{onGet:o=>{a(o,o.name)},onImmediateChange:o=>{l(o,o.name)}},reactive:{onGet:({target:o,key:u})=>{I(o),a(o,u)},onHas:({target:o,key:u})=>{a(o,u)},onDelete:({target:o,key:u})=>{ee(o,u)},onSet:({target:o,key:u,keysChanged:m})=>{l(o,u),m&&l(o)},needsProxy:({key:o})=>!E.has(o)}};function ne(o,u){return j(o,u,O)}function te(o,u){return L(o,u,O)}function re(o,u,m){return p(o,u,m,O)}function ce(o,u,m){return K(o,u,m,O)}return{toRaw:k.toRaw,watch:Z,describeProperty:te,defineProperty:ce,describeComputed:ne,defineComputed:re}}exports.MadroneState=k;exports.MadroneVue3=Pe;exports.addIntegration=oe;exports.getIntegration=U;exports.lastAccessed=ie;exports.removeIntegration=ue;exports.toRaw=H;
@@ -1,557 +0,0 @@
1
- const A = /* @__PURE__ */ new Set();
2
- let B;
3
- function re() {
4
- return [...A];
5
- }
6
- function ce() {
7
- return re().at(-1);
8
- }
9
- function x() {
10
- B = ce();
11
- }
12
- function Pe(e) {
13
- e && (A.add(e), x());
14
- }
15
- function _e(e) {
16
- A.delete(e), x();
17
- }
18
- function se() {
19
- return B;
20
- }
21
- const W = /* @__PURE__ */ new WeakMap();
22
- function U(e) {
23
- return (se()?.toRaw ?? ((t) => t))(e);
24
- }
25
- function I(e) {
26
- W.set(U(e), Date.now());
27
- }
28
- function Ae(e) {
29
- return W.get(U(e));
30
- }
31
- const f = Symbol("keys"), L = Symbol("computed"), H = /* @__PURE__ */ new WeakMap(), D = /* @__PURE__ */ new WeakMap(), R = /* @__PURE__ */ new WeakMap(), w = /* @__PURE__ */ new WeakMap();
32
- let y = [], T = null;
33
- const ae = (e) => H.has(e), Y = (e) => D.has(e), M = (e) => H.get(e), ue = (e) => D.get(e), ie = (e) => Y(e) ? ue(e) : e, oe = (e, n) => {
34
- H.set(e, n), D.set(n, e);
35
- }, fe = () => {
36
- T === null && (T = Symbol("scheduler"), queueMicrotask(() => {
37
- try {
38
- for (; y.length > 0; ) {
39
- const e = y;
40
- y = [];
41
- for (const n of e)
42
- try {
43
- n();
44
- } catch (t) {
45
- console.error("Unhandled error in scheduled task:", t);
46
- }
47
- }
48
- } finally {
49
- T = null;
50
- }
51
- }));
52
- }, le = (e) => {
53
- y.push(e), fe();
54
- }, de = (e, n) => {
55
- const t = w.get(e), c = t?.get(n);
56
- if (c) {
57
- for (const r of c)
58
- R.get(r)?.get(n)?.delete(e);
59
- c.clear(), t.delete(n), t.size === 0 && w.delete(e);
60
- }
61
- }, N = (e) => {
62
- const n = w.get(e);
63
- if (n) {
64
- for (const [t, c] of n)
65
- for (const r of c)
66
- R.get(r)?.get(t)?.delete(e);
67
- w.delete(e);
68
- }
69
- }, $ = (e, n) => {
70
- const t = he();
71
- if (!t) return;
72
- w.has(t) || w.set(t, /* @__PURE__ */ new Map()), R.has(e) || R.set(e, /* @__PURE__ */ new Map());
73
- const c = R.get(e), r = w.get(t);
74
- c.has(n) || c.set(n, /* @__PURE__ */ new Set()), r.has(n) || r.set(n, /* @__PURE__ */ new Set());
75
- const s = c.get(n), a = r.get(n);
76
- s.add(t), a.add(e);
77
- }, d = (e, n) => {
78
- const t = M(e);
79
- t && $(t, n);
80
- }, X = (e, n) => {
81
- const t = R.get(e);
82
- if (t?.get(n))
83
- for (const c of t.get(n))
84
- c.setDirty(), de(c, n);
85
- }, h = (e, n) => {
86
- X(M(e), n);
87
- }, P = [];
88
- function he() {
89
- return P.at(-1);
90
- }
91
- class V {
92
- /**
93
- * Factory method to create a new ObservableItem.
94
- * @internal
95
- */
96
- static create(...n) {
97
- return new V(...n);
98
- }
99
- /**
100
- * Creates a new ObservableItem.
101
- * @param options - Configuration options
102
- */
103
- constructor(n) {
104
- 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 = {
105
- onGet: n.onGet,
106
- onSet: n.onSet,
107
- onChange: n.onChange,
108
- onImmediateChange: n.onImmediateChange
109
- };
110
- }
111
- callHook(n) {
112
- typeof this.hooks[n] == "function" && this.hooks[n](this);
113
- }
114
- /**
115
- * Stop observing and dispose of the observer
116
- * @returns {void}
117
- */
118
- dispose() {
119
- N(this), this.alive = !1, this.dirty = !1, this.cachedVal = void 0, this.prev = void 0;
120
- }
121
- wrap(n) {
122
- P.push(this);
123
- try {
124
- return n();
125
- } finally {
126
- P.pop();
127
- }
128
- }
129
- setDirty() {
130
- this.alive && !this.dirty && (this.dirty = !0, X(this, L), this.prev = this.cachedVal, this.cachedVal = void 0, this.callHook(
131
- "onImmediateChange"
132
- /* onImmediateChange */
133
- ), le(() => this.notifyChange()));
134
- }
135
- notifyChange() {
136
- this.callHook(
137
- "onChange"
138
- /* onChange */
139
- ), this.prev = void 0;
140
- }
141
- run() {
142
- if (!this.alive) return;
143
- const n = this.wrap(() => {
144
- if (this.cache && this.dirty || !this.cache) {
145
- N(this);
146
- try {
147
- this.cachedVal = this.get();
148
- } finally {
149
- this.dirty = !1;
150
- }
151
- }
152
- return this.cachedVal;
153
- });
154
- return $(this, L), this.callHook(
155
- "onGet"
156
- /* onGet */
157
- ), n;
158
- }
159
- /** The value of the observer */
160
- get value() {
161
- return this.run();
162
- }
163
- set value(n) {
164
- if (typeof this.set == "function")
165
- this.set(n), this.callHook(
166
- "onSet"
167
- /* onSet */
168
- );
169
- else
170
- throw new TypeError(`No setter defined for "${this.name}"`);
171
- }
172
- }
173
- function q(...e) {
174
- return V.create(...e);
175
- }
176
- function me(e) {
177
- return q(e);
178
- }
179
- const o = (e) => {
180
- const {
181
- name: n,
182
- target: t,
183
- key: c,
184
- receiver: r,
185
- value: s,
186
- keysChanged: a = !1,
187
- valueChanged: l = !1
188
- } = e;
189
- return {
190
- name: n,
191
- target: t,
192
- key: c,
193
- receiver: r,
194
- value: s,
195
- keysChanged: a,
196
- valueChanged: l
197
- };
198
- }, ve = (e, n, t, c) => {
199
- d(n, t), e?.onGet && e.onGet(o({
200
- name: e.name,
201
- target: n,
202
- key: t,
203
- receiver: c
204
- }));
205
- }, Se = (e, n, t, c) => {
206
- const r = n[t], s = Array.isArray(n);
207
- let a = !1, l = !1;
208
- t in n || (h(n, f), l = !0, s && h(n, "length")), (r !== c || s) && (h(n, t), a = !0), (l || a) && e?.onSet && e.onSet(o({
209
- name: e.name,
210
- target: n,
211
- key: t,
212
- value: c,
213
- keysChanged: l,
214
- valueChanged: a
215
- }));
216
- }, Ce = (e, n, t) => {
217
- h(n, t), h(n, f), e?.onDelete && e.onDelete(o({
218
- name: e.name,
219
- target: n,
220
- key: t,
221
- keysChanged: !0
222
- }));
223
- }, z = (e, n, t) => {
224
- d(n, f), e?.onHas && e.onHas(o({ name: e.name, target: n, key: t }));
225
- };
226
- function F(e) {
227
- const n = e.needsProxy || (() => !0);
228
- return {
229
- get: (t, c, r) => {
230
- ve(e, t, c, r);
231
- const s = Reflect.get(t, c, r);
232
- return e?.deep && s && typeof s == "object" && n({ target: t, key: c, value: s }) && Object.getOwnPropertyDescriptor(t, c)?.configurable ? S(s, e) : s;
233
- },
234
- set: (t, c, r) => (Se(e, t, c, r), Reflect.set(t, c, r)),
235
- deleteProperty: (...t) => (Ce(e, ...t), Reflect.deleteProperty(...t)),
236
- has: (t, c) => (z(e, t), Reflect.has(t, c)),
237
- ownKeys: (t) => (z(e, t), Reflect.ownKeys(t)),
238
- getPrototypeOf: (t) => Object.getPrototypeOf(t)
239
- };
240
- }
241
- const we = (e) => ({
242
- ...F(e)
243
- }), Re = (e) => ({
244
- ...F(e)
245
- }), v = (e, n) => n?.deep && e && typeof e == "object" ? S(e, n) : e;
246
- function* b(e, n, t) {
247
- for (const c of e)
248
- yield t(c);
249
- }
250
- const be = (e) => ({
251
- get: (n, t, c) => t === "size" ? (d(n, f), e?.onGet?.(o({
252
- name: e.name,
253
- target: n,
254
- key: t
255
- })), n.size) : t === "has" ? (r) => (d(n, f), e?.onGet?.(o({
256
- name: e.name,
257
- target: n,
258
- key: t,
259
- value: r
260
- })), n.has(r)) : t === "add" ? (r) => {
261
- const s = n.has(r);
262
- return n.add(r), s || (h(n, f), e?.onSet?.(o({
263
- name: e.name,
264
- target: n,
265
- key: t,
266
- value: r,
267
- keysChanged: !0
268
- }))), c;
269
- } : t === "delete" ? (r) => {
270
- const s = n.has(r), a = n.delete(r);
271
- return s && (h(n, f), e?.onDelete?.(o({
272
- name: e.name,
273
- target: n,
274
- key: t,
275
- value: r,
276
- keysChanged: !0
277
- }))), a;
278
- } : t === "clear" ? () => {
279
- const r = n.size > 0;
280
- n.clear(), r && (h(n, f), e?.onDelete?.(o({
281
- name: e.name,
282
- target: n,
283
- key: t,
284
- keysChanged: !0
285
- })));
286
- } : t === "forEach" ? (r, s) => {
287
- d(n, f), e?.onGet?.(o({
288
- name: e.name,
289
- target: n,
290
- key: t
291
- }));
292
- for (const [a, l] of n.entries())
293
- r.call(s, v(a, e), v(l, e), c);
294
- } : t === "values" || t === "keys" ? () => (d(n, f), e?.onGet?.(o({
295
- name: e.name,
296
- target: n,
297
- key: t
298
- })), b(n.values(), e, (r) => v(r, e))) : t === "entries" ? () => (d(n, f), e?.onGet?.(o({
299
- name: e.name,
300
- target: n,
301
- key: t
302
- })), b(
303
- n.entries(),
304
- e,
305
- ([r, s]) => [v(r, e), v(s, e)]
306
- )) : t === Symbol.iterator ? () => (d(n, f), e?.onGet?.(o({
307
- name: e.name,
308
- target: n,
309
- key: t
310
- })), b(n[Symbol.iterator](), e, (r) => v(r, e))) : t === Symbol.toStringTag ? "Set" : Reflect.get(n, t, c)
311
- }), Oe = (e) => ({
312
- get: (n, t, c) => t === "size" ? (d(n, f), e?.onGet?.(o({
313
- name: e.name,
314
- target: n,
315
- key: t
316
- })), n.size) : t === "has" ? (r) => (d(n, r), e?.onGet?.(o({
317
- name: e.name,
318
- target: n,
319
- key: r
320
- })), n.has(r)) : t === "get" ? (r) => (d(n, r), e?.onGet?.(o({
321
- name: e.name,
322
- target: n,
323
- key: r
324
- })), v(n.get(r), e)) : t === "set" ? (r, s) => {
325
- const a = n.has(r), l = n.get(r);
326
- return n.set(r, s), a || h(n, f), (!a || l !== s) && (h(n, r), e?.onSet?.(o({
327
- name: e.name,
328
- target: n,
329
- key: r,
330
- value: s,
331
- keysChanged: !a,
332
- valueChanged: l !== s
333
- }))), c;
334
- } : t === "delete" ? (r) => {
335
- const s = n.has(r), a = n.delete(r);
336
- return s && (h(n, f), h(n, r), e?.onDelete?.(o({
337
- name: e.name,
338
- target: n,
339
- key: r,
340
- keysChanged: !0
341
- }))), a;
342
- } : t === "clear" ? () => {
343
- const r = [...n.keys()], s = n.size > 0;
344
- if (n.clear(), s) {
345
- h(n, f);
346
- for (const a of r)
347
- h(n, a);
348
- e?.onDelete?.(o({
349
- name: e.name,
350
- target: n,
351
- key: t,
352
- keysChanged: !0
353
- }));
354
- }
355
- } : t === "forEach" ? (r, s) => {
356
- d(n, f), e?.onGet?.(o({
357
- name: e.name,
358
- target: n,
359
- key: t
360
- }));
361
- for (const [a, l] of n.entries())
362
- r.call(s, v(l, e), a, c);
363
- } : t === "keys" ? () => (d(n, f), e?.onGet?.(o({
364
- name: e.name,
365
- target: n,
366
- key: t
367
- })), n.keys()) : t === "values" ? () => (d(n, f), e?.onGet?.(o({
368
- name: e.name,
369
- target: n,
370
- key: t
371
- })), b(n.values(), e, (r) => v(r, e))) : t === "entries" ? () => (d(n, f), e?.onGet?.(o({
372
- name: e.name,
373
- target: n,
374
- key: t
375
- })), b(
376
- n.entries(),
377
- e,
378
- ([r, s]) => [r, v(s, e)]
379
- )) : t === Symbol.iterator ? () => (d(n, f), e?.onGet?.(o({
380
- name: e.name,
381
- target: n,
382
- key: t
383
- })), b(
384
- n[Symbol.iterator](),
385
- e,
386
- ([r, s]) => [r, v(s, e)]
387
- )) : t === Symbol.toStringTag ? "Map" : Reflect.get(n, t, c)
388
- }), Q = Object.freeze({
389
- object: we,
390
- array: Re,
391
- set: be,
392
- map: Oe
393
- });
394
- function S(e, n) {
395
- if (ae(e)) return M(e);
396
- if (Y(e)) return e;
397
- const t = n || {}, c = { ...t, deep: t?.deep ?? !0 }, r = S.getStringType(e);
398
- if (!S.hasHandler(r)) return e;
399
- const s = new Proxy(e, S.typeHandler(r, c));
400
- return oe(e, s), s;
401
- }
402
- const Ge = (e) => {
403
- const n = Object.getPrototypeOf(e);
404
- return n === null ? !0 : n === Object.prototype;
405
- };
406
- S.getStringType = (e) => e === null ? "null" : typeof e != "object" ? typeof e : Array.isArray(e) ? "array" : e instanceof Map ? "map" : e instanceof Set ? "set" : Ge(e) ? "object" : "native";
407
- S.hasHandler = (e) => !!Q[e];
408
- S.typeHandler = (e, n) => Q[e]?.(n);
409
- function J(e, n, t) {
410
- const c = q({
411
- get: e,
412
- onChange: ({ value: s, prev: a }) => n(s, a)
413
- }), r = c.run();
414
- return t?.immediate && n(r), () => c.dispose();
415
- }
416
- function g(e, n, t) {
417
- let c, r;
418
- if (n.cache) {
419
- const s = me({
420
- ...n,
421
- get: n.get,
422
- name: e,
423
- onImmediateChange: t?.computed?.onImmediateChange,
424
- onChange: t?.computed?.onChange,
425
- onGet: t?.computed?.onGet,
426
- onSet: t?.computed?.onSet
427
- });
428
- c = function() {
429
- return I(this), s.value;
430
- }, r = function(l) {
431
- s.value = l;
432
- };
433
- } else
434
- c = function() {
435
- return I(this), n.get.call(this);
436
- }, r = function(...a) {
437
- n.set.call(this, ...a);
438
- };
439
- return {
440
- enumerable: n.enumerable,
441
- configurable: n.configurable,
442
- get: c,
443
- set: r
444
- };
445
- }
446
- function j(e, n, t) {
447
- const c = { value: n.value }, r = S(c, {
448
- name: e,
449
- onGet: t?.reactive?.onGet,
450
- onHas: t?.reactive?.onHas,
451
- onSet: t?.reactive?.onSet,
452
- onDelete: t?.reactive?.onDelete,
453
- needsProxy: t?.reactive?.needsProxy,
454
- deep: n.deep ?? t?.reactive?.deep
455
- });
456
- return {
457
- configurable: n.configurable,
458
- enumerable: n.enumerable,
459
- get: function() {
460
- I(this);
461
- const { value: a } = r;
462
- return Array.isArray(a) && Reflect.get(a, "length"), a;
463
- },
464
- set: function(a) {
465
- r.value = a;
466
- }
467
- };
468
- }
469
- function Z(e, n, t, c) {
470
- Object.defineProperty(e, n, g(n, t, c));
471
- }
472
- function p(e, n, t, c) {
473
- Object.defineProperty(e, n, j(n, t, c));
474
- }
475
- const ye = {
476
- toRaw: ie,
477
- watch: J,
478
- describeProperty: j,
479
- defineProperty: p,
480
- describeComputed: g,
481
- defineComputed: Z
482
- }, E = /* @__PURE__ */ new Set(["__proto__", "__ob__"]), _ = "value", Ie = (e) => {
483
- e[_] += 1;
484
- };
485
- function He(e) {
486
- if (!e?.reactive || typeof e.reactive != "function")
487
- throw new Error(
488
- `MadroneVue3 requires Vue's reactive function. Either use "madrone/integrations/vue" for automatic setup, or pass { reactive, toRaw } from "vue".`
489
- );
490
- const { reactive: n, toRaw: t } = e, c = t ?? ((u) => u), r = /* @__PURE__ */ new WeakMap(), s = (u, i) => {
491
- const m = c(u);
492
- let C = r.get(m);
493
- C || (C = /* @__PURE__ */ new Map(), r.set(m, C));
494
- let G = C.get(i);
495
- return G || (G = n({ [_]: 0 }), C.set(i, G)), G;
496
- }, a = (u, i) => {
497
- E.has(i) || Reflect.get(s(u, i), _);
498
- }, l = (u, i) => {
499
- E.has(i) || Ie(s(u, i));
500
- }, K = (u, i) => {
501
- const m = c(u), C = r.get(m);
502
- C && l(C, i), r.delete(m);
503
- }, O = {
504
- computed: {
505
- onGet: (u) => {
506
- a(u, u.name);
507
- },
508
- onImmediateChange: (u) => {
509
- l(u, u.name);
510
- }
511
- },
512
- reactive: {
513
- onGet: ({ target: u, key: i }) => {
514
- I(u), a(u, i);
515
- },
516
- onHas: ({ target: u, key: i }) => {
517
- a(u, i);
518
- },
519
- onDelete: ({ target: u, key: i }) => {
520
- K(u, i);
521
- },
522
- onSet: ({ target: u, key: i, keysChanged: m }) => {
523
- l(u, i), m && l(u);
524
- },
525
- needsProxy: ({ key: u }) => !E.has(u)
526
- }
527
- };
528
- function k(u, i) {
529
- return g(u, i, O);
530
- }
531
- function ee(u, i) {
532
- return j(u, i, O);
533
- }
534
- function ne(u, i, m) {
535
- return Z(u, i, m, O);
536
- }
537
- function te(u, i, m) {
538
- return p(u, i, m, O);
539
- }
540
- return {
541
- toRaw: ye.toRaw,
542
- watch: J,
543
- describeProperty: ee,
544
- defineProperty: te,
545
- describeComputed: k,
546
- defineComputed: ne
547
- };
548
- }
549
- export {
550
- ye as M,
551
- Pe as a,
552
- He as b,
553
- se as g,
554
- Ae as l,
555
- _e as r,
556
- U as t
557
- };