@madronejs/core 1.1.0 → 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;