@e280/strata 0.2.8 → 0.3.0-0

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.
Files changed (153) hide show
  1. package/README.md +11 -47
  2. package/package.json +3 -3
  3. package/s/index.ts +0 -1
  4. package/s/prism/prism.test.ts +2 -1
  5. package/s/prism/prism.ts +1 -1
  6. package/s/signals/derived/class.ts +34 -0
  7. package/s/signals/derived/fn.ts +36 -0
  8. package/s/signals/{tests/derived.test.ts → derived/test.ts} +13 -14
  9. package/s/signals/effect/effect.ts +7 -0
  10. package/s/signals/effect/test.ts +172 -0
  11. package/s/signals/effect/watch.ts +32 -0
  12. package/s/signals/index.ts +11 -7
  13. package/s/signals/lazy/class.ts +74 -0
  14. package/s/signals/lazy/fn.ts +22 -0
  15. package/s/signals/{tests/lazy.test.ts → lazy/test.ts} +23 -12
  16. package/s/signals/signal/class.ts +77 -0
  17. package/s/signals/signal/fn.ts +31 -0
  18. package/s/signals/{tests/signal.test.ts → signal/test.ts} +56 -59
  19. package/s/signals/signals.test.ts +8 -8
  20. package/s/signals/types.ts +4 -23
  21. package/s/signals/utils/default-compare.ts +1 -1
  22. package/s/signals/utils/symbols.ts +9 -0
  23. package/s/tests.test.ts +1 -57
  24. package/x/index.d.ts +0 -1
  25. package/x/index.js +0 -1
  26. package/x/index.js.map +1 -1
  27. package/x/prism/prism.js.map +1 -1
  28. package/x/prism/prism.test.js +1 -1
  29. package/x/prism/prism.test.js.map +1 -1
  30. package/x/signals/derived/class.d.ts +14 -0
  31. package/x/signals/derived/class.js +23 -0
  32. package/x/signals/derived/class.js.map +1 -0
  33. package/x/signals/derived/fn.d.ts +3 -0
  34. package/x/signals/derived/fn.js +28 -0
  35. package/x/signals/derived/fn.js.map +1 -0
  36. package/x/signals/{tests/derived.test.d.ts → derived/test.d.ts} +1 -3
  37. package/x/signals/{tests/derived.test.js → derived/test.js} +14 -15
  38. package/x/signals/derived/test.js.map +1 -0
  39. package/x/signals/effect/effect.d.ts +1 -0
  40. package/x/signals/effect/effect.js +5 -0
  41. package/x/signals/effect/effect.js.map +1 -0
  42. package/x/signals/{tests/effect.test.d.ts → effect/test.d.ts} +7 -0
  43. package/x/signals/effect/test.js +132 -0
  44. package/x/signals/effect/test.js.map +1 -0
  45. package/x/signals/effect/watch.d.ts +4 -0
  46. package/x/signals/effect/watch.js +25 -0
  47. package/x/signals/effect/watch.js.map +1 -0
  48. package/x/signals/index.d.ts +8 -7
  49. package/x/signals/index.js +8 -7
  50. package/x/signals/index.js.map +1 -1
  51. package/x/signals/lazy/class.d.ts +19 -0
  52. package/x/signals/lazy/class.js +59 -0
  53. package/x/signals/lazy/class.js.map +1 -0
  54. package/x/signals/lazy/fn.d.ts +3 -0
  55. package/x/signals/lazy/fn.js +17 -0
  56. package/x/signals/lazy/fn.js.map +1 -0
  57. package/x/signals/{tests/lazy.test.d.ts → lazy/test.d.ts} +2 -3
  58. package/x/signals/{tests/lazy.test.js → lazy/test.js} +23 -13
  59. package/x/signals/lazy/test.js.map +1 -0
  60. package/x/signals/signal/class.d.ts +20 -0
  61. package/x/signals/signal/class.js +57 -0
  62. package/x/signals/signal/class.js.map +1 -0
  63. package/x/signals/signal/fn.d.ts +7 -0
  64. package/x/signals/signal/fn.js +23 -0
  65. package/x/signals/signal/fn.js.map +1 -0
  66. package/x/signals/{tests/signal.test.d.ts → signal/test.d.ts} +8 -7
  67. package/x/signals/{tests/signal.test.js → signal/test.js} +50 -46
  68. package/x/signals/signal/test.js.map +1 -0
  69. package/x/signals/signals.test.d.ts +25 -20
  70. package/x/signals/signals.test.js +8 -8
  71. package/x/signals/signals.test.js.map +1 -1
  72. package/x/signals/types.d.ts +4 -19
  73. package/x/signals/utils/default-compare.js +1 -1
  74. package/x/signals/utils/default-compare.js.map +1 -1
  75. package/x/signals/utils/symbols.d.ts +7 -0
  76. package/x/signals/utils/symbols.js +8 -0
  77. package/x/signals/utils/symbols.js.map +1 -0
  78. package/x/tests.test.js +1 -45
  79. package/x/tests.test.js.map +1 -1
  80. package/s/signals/core/derived.ts +0 -65
  81. package/s/signals/core/effect.ts +0 -31
  82. package/s/signals/core/lazy.ts +0 -78
  83. package/s/signals/core/parts/reactive.ts +0 -12
  84. package/s/signals/core/parts/readable.ts +0 -16
  85. package/s/signals/core/signal.ts +0 -101
  86. package/s/signals/porcelain.ts +0 -30
  87. package/s/signals/tests/effect.test.ts +0 -89
  88. package/s/tree/index.ts +0 -7
  89. package/s/tree/parts/branch.ts +0 -55
  90. package/s/tree/parts/chronobranch.ts +0 -86
  91. package/s/tree/parts/persistence.ts +0 -31
  92. package/s/tree/parts/trunk.ts +0 -70
  93. package/s/tree/parts/types.ts +0 -70
  94. package/s/tree/parts/utils/immute.ts +0 -43
  95. package/s/tree/parts/utils/process-options.ts +0 -7
  96. package/s/tree/parts/utils/setup.ts +0 -40
  97. package/s/tree/tree.test.ts +0 -366
  98. package/x/signals/core/derived.d.ts +0 -10
  99. package/x/signals/core/derived.js +0 -52
  100. package/x/signals/core/derived.js.map +0 -1
  101. package/x/signals/core/effect.d.ts +0 -5
  102. package/x/signals/core/effect.js +0 -17
  103. package/x/signals/core/effect.js.map +0 -1
  104. package/x/signals/core/lazy.d.ts +0 -11
  105. package/x/signals/core/lazy.js +0 -60
  106. package/x/signals/core/lazy.js.map +0 -1
  107. package/x/signals/core/parts/reactive.d.ts +0 -5
  108. package/x/signals/core/parts/reactive.js +0 -9
  109. package/x/signals/core/parts/reactive.js.map +0 -1
  110. package/x/signals/core/parts/readable.d.ts +0 -6
  111. package/x/signals/core/parts/readable.js +0 -15
  112. package/x/signals/core/parts/readable.js.map +0 -1
  113. package/x/signals/core/signal.d.ts +0 -13
  114. package/x/signals/core/signal.js +0 -77
  115. package/x/signals/core/signal.js.map +0 -1
  116. package/x/signals/porcelain.d.ts +0 -8
  117. package/x/signals/porcelain.js +0 -15
  118. package/x/signals/porcelain.js.map +0 -1
  119. package/x/signals/tests/derived.test.js.map +0 -1
  120. package/x/signals/tests/effect.test.js +0 -72
  121. package/x/signals/tests/effect.test.js.map +0 -1
  122. package/x/signals/tests/lazy.test.js.map +0 -1
  123. package/x/signals/tests/signal.test.js.map +0 -1
  124. package/x/tree/index.d.ts +0 -5
  125. package/x/tree/index.js +0 -6
  126. package/x/tree/index.js.map +0 -1
  127. package/x/tree/parts/branch.d.ts +0 -14
  128. package/x/tree/parts/branch.js +0 -42
  129. package/x/tree/parts/branch.js.map +0 -1
  130. package/x/tree/parts/chronobranch.d.ts +0 -25
  131. package/x/tree/parts/chronobranch.js +0 -75
  132. package/x/tree/parts/chronobranch.js.map +0 -1
  133. package/x/tree/parts/persistence.d.ts +0 -2
  134. package/x/tree/parts/persistence.js +0 -23
  135. package/x/tree/parts/persistence.js.map +0 -1
  136. package/x/tree/parts/trunk.d.ts +0 -19
  137. package/x/tree/parts/trunk.js +0 -57
  138. package/x/tree/parts/trunk.js.map +0 -1
  139. package/x/tree/parts/types.d.ts +0 -28
  140. package/x/tree/parts/types.js +0 -2
  141. package/x/tree/parts/types.js.map +0 -1
  142. package/x/tree/parts/utils/immute.d.ts +0 -11
  143. package/x/tree/parts/utils/immute.js +0 -33
  144. package/x/tree/parts/utils/immute.js.map +0 -1
  145. package/x/tree/parts/utils/process-options.d.ts +0 -2
  146. package/x/tree/parts/utils/process-options.js +0 -4
  147. package/x/tree/parts/utils/process-options.js.map +0 -1
  148. package/x/tree/parts/utils/setup.d.ts +0 -8
  149. package/x/tree/parts/utils/setup.js +0 -24
  150. package/x/tree/parts/utils/setup.js.map +0 -1
  151. package/x/tree/tree.test.d.ts +0 -40
  152. package/x/tree/tree.test.js +0 -325
  153. package/x/tree/tree.test.js.map +0 -1
@@ -0,0 +1,77 @@
1
+
2
+ import {Sub} from "@e280/stz"
3
+ import {signal} from "./fn.js"
4
+ import {SignalOptions} from "../types.js"
5
+ import {tracker} from "../../tracker/tracker.js"
6
+ import {_compare, _lock} from "../utils/symbols.js"
7
+
8
+ export interface Signal<Value> {
9
+ (): Value
10
+ (value: Value): Promise<Value>
11
+ }
12
+
13
+ export class Signal<Value> {
14
+ sneak!: Value
15
+ on!: Sub<[Value]>
16
+
17
+ ;[_lock]!: boolean
18
+ ;[_compare]!: (a: any, b: any) => boolean
19
+
20
+ constructor(value: Value, options?: Partial<SignalOptions>) {
21
+ if (new.target !== Signal) throw new Error("Signal cannot be subclassed")
22
+ return signal(value, options)
23
+ }
24
+
25
+ get value() {
26
+ return (this as Signal<any>).get()
27
+ }
28
+
29
+ set value(value: any) {
30
+ void (this as Signal<any>).set(value)
31
+ }
32
+
33
+ get() {
34
+ tracker.notifyRead(this)
35
+ return this.sneak
36
+ }
37
+
38
+ async set(value: Value, forcePublish = false) {
39
+ const previous = this.sneak
40
+ this.sneak = value
41
+ if (forcePublish || !this[_compare](previous, value))
42
+ await this.publish()
43
+ return value
44
+ }
45
+
46
+ async publish(): Promise<Value> {
47
+ // only wizards are allowed beyond this point.
48
+ // - the implementation is subtle
49
+ // - it looks wrong, but it's right
50
+ // - tarnished alchemists, take heed: lock engages only for sync activity of the async fns (think of the value setter!)
51
+
52
+ if (this[_lock])
53
+ throw new Error("forbid circularity")
54
+
55
+ const value = this.sneak
56
+ let promise: Promise<any> = Promise.resolve()
57
+
58
+ try {
59
+ this[_lock] = true
60
+ promise = Promise.all([
61
+ tracker.notifyWrite(this),
62
+ this.on.pub(value),
63
+ ])
64
+ }
65
+ finally {
66
+ this[_lock] = false
67
+ }
68
+
69
+ await promise
70
+ return value
71
+ }
72
+
73
+ toString() {
74
+ return `($signal "${String(this.get())}")`
75
+ }
76
+ }
77
+
@@ -0,0 +1,31 @@
1
+
2
+ import {sub} from "@e280/stz"
3
+ import {Signal} from "./class.js"
4
+ import {lazy} from "../lazy/fn.js"
5
+ import {SignalOptions} from "../types.js"
6
+ import {derived} from "../derived/fn.js"
7
+ import {_compare, _lock} from "../utils/symbols.js"
8
+ import {defaultCompare} from "../utils/default-compare.js"
9
+
10
+ export function signal<Value>(value: Value, options?: Partial<SignalOptions>) {
11
+ function fn(): Value
12
+ function fn(value: Value): Promise<Value>
13
+ function fn(_value?: Value): Value | Promise<Value> {
14
+ const self = fn as Signal<Value>
15
+ return (arguments.length === 0)
16
+ ? self.get()
17
+ : self.set(arguments[0])
18
+ }
19
+
20
+ Object.setPrototypeOf(fn, Signal.prototype)
21
+ fn.sneak = value
22
+ fn.on = sub<[Value]>()
23
+ fn[_lock] = false
24
+ fn[_compare] = options?.compare ?? defaultCompare
25
+
26
+ return fn as Signal<Value>
27
+ }
28
+
29
+ signal.derived = derived
30
+ signal.lazy = lazy
31
+
@@ -1,19 +1,36 @@
1
1
 
2
2
  import {Science, test, expect} from "@e280/science"
3
- import {signal} from "../porcelain.js"
3
+ import {signal} from "./fn.js"
4
+ import {Signal} from "./class.js"
4
5
 
5
6
  export default Science.suite({
6
- "get/set value": test(async() => {
7
+ "get() and set()": test(async() => {
7
8
  const count = signal(0)
8
- expect(count.value).is(0)
9
+ expect(count.get()).is(0)
10
+ await count.set(1)
11
+ expect(count.get()).is(1)
12
+ count.set(2)
13
+ expect(count.get()).is(2)
14
+ }),
9
15
 
16
+ ".value": test(async() => {
17
+ const count = signal(0)
18
+ expect(count.value).is(0)
10
19
  count.value++
11
20
  expect(count.value).is(1)
12
-
13
21
  count.value = 5
14
22
  expect(count.value).is(5)
15
23
  }),
16
24
 
25
+ "count() and count(1)": test(async() => {
26
+ const count = signal(0)
27
+ expect(count()).is(0)
28
+ await count(1)
29
+ expect(count()).is(1)
30
+ count(2)
31
+ expect(count()).is(2)
32
+ }),
33
+
17
34
  "set with forcePublish returns value": test(async() => {
18
35
  const count = signal(0)
19
36
  expect(count.value).is(0)
@@ -23,11 +40,43 @@ export default Science.suite({
23
40
 
24
41
  "syntax interop": test(async() => {
25
42
  const count = signal(0)
26
- count.value = 1
43
+
44
+ count(1)
45
+ expect(count()).is(1)
27
46
  expect(count.get()).is(1)
47
+ expect(count.value).is(1)
48
+
49
+ count.set(2)
50
+ expect(count()).is(2)
51
+ expect(count.get()).is(2)
52
+ expect(count.value).is(2)
53
+
54
+ count.value = 3
55
+ expect(count()).is(3)
56
+ expect(count.get()).is(3)
57
+ expect(count.value).is(3)
28
58
  }),
29
59
 
30
- "on": Science.suite({
60
+ "class magic": {
61
+ "signal instanceof Signal": test(async() => {
62
+ const count = signal(0)
63
+ expect(count instanceof Signal).ok()
64
+ }),
65
+
66
+ "new Signal": test(async() => {
67
+ const count = new Signal(0)
68
+ expect(count instanceof Signal).ok()
69
+ expect(count()).is(0)
70
+ await count(1)
71
+ expect(count.value).is(1)
72
+ }),
73
+
74
+ "subclassing Signal is forbidden": test(async() => {
75
+ expect(() => new class extends Signal<any> {}(0)).throws()
76
+ }),
77
+ },
78
+
79
+ "on": {
31
80
  "on is not debounced": test(async() => {
32
81
  const count = signal(1)
33
82
  let runs = 0
@@ -58,58 +107,6 @@ export default Science.suite({
58
107
  }).throwsAsync()
59
108
  expect(runs).is(0)
60
109
  }),
61
- }),
62
-
63
- "hipster syntax": Science.suite({
64
- "get and set": test(async() => {
65
- const count = signal(0)
66
- expect(count()).is(0)
67
-
68
- count(count() + 1)
69
- expect(count()).is(1)
70
- }),
71
-
72
- "old get and set still work": test(async() => {
73
- const count = signal(0)
74
- expect(count.get()).is(0)
75
-
76
- count.set(count.get() + 1)
77
- expect(count.get()).is(1)
78
- }),
79
-
80
- "interop": test(async() => {
81
- const count = signal(0)
82
-
83
- count(1)
84
- expect(count()).is(1)
85
- expect(count.get()).is(1)
86
- expect(count.value).is(1)
87
-
88
- count.set(2)
89
- expect(count()).is(2)
90
- expect(count.get()).is(2)
91
- expect(count.value).is(2)
92
-
93
- count.value = 3
94
- expect(count()).is(3)
95
- expect(count.get()).is(3)
96
- expect(count.value).is(3)
97
- }),
98
-
99
- ".on 'this' interrogation": test(async() => {
100
- const count = signal(0)
101
- expect(count()).is(0)
102
-
103
- let reported = count()
104
- count.on(x => {reported = x})
105
-
106
- count(1)
107
- expect(reported).is(1)
108
-
109
- count.on.clear()
110
- count(2)
111
- expect(reported).is(1)
112
- }),
113
- }),
110
+ },
114
111
  })
115
112
 
@@ -1,15 +1,15 @@
1
1
 
2
2
  import {Science} from "@e280/science"
3
3
 
4
- import effectTest from "./tests/effect.test.js"
5
- import signalTest from "./tests/signal.test.js"
6
- import derivedTest from "./tests/derived.test.js"
7
- import lazyTest from "./tests/lazy.test.js"
4
+ import signal from "./signal/test.js"
5
+ import derived from "./derived/test.js"
6
+ import lazy from "./lazy/test.js"
7
+ import effect from "./effect/test.js"
8
8
 
9
9
  export default Science.suite({
10
- "effect": effectTest,
11
- "signal": signalTest,
12
- "derived": derivedTest,
13
- "lazy": lazyTest,
10
+ signal,
11
+ derived,
12
+ lazy,
13
+ effect,
14
14
  })
15
15
 
@@ -1,30 +1,11 @@
1
1
 
2
- import {Lazy} from "./core/lazy.js"
3
- import {Signal} from "./core/signal.js"
4
- import {Derived} from "./core/derived.js"
2
+ import {Lazy} from "./lazy/class.js"
3
+ import {Signal} from "./signal/class.js"
4
+ import {Derived} from "./derived/class.js"
5
5
 
6
- export type Signaly<V> = Signal<V> | Derived<V> | Lazy<V>
7
- export type SignalyFn<V> = SignalFn<V> | DerivedFn<V> | LazyFn<V>
6
+ export type Signaly<Value> = Signal<Value> | Derived<Value> | Lazy<Value>
8
7
 
9
8
  export type SignalOptions = {
10
9
  compare: (a: any, b: any) => boolean
11
10
  }
12
11
 
13
- export type SignalFn<V> = {
14
- (): V
15
- (v: V): Promise<V>
16
- (v?: V): V | Promise<V>
17
-
18
- core: Signal<V>
19
- } & Signal<V>
20
-
21
- export type LazyFn<V> = {
22
- (): V
23
- core: Lazy<V>
24
- } & Lazy<V>
25
-
26
- export type DerivedFn<V> = {
27
- (): V
28
- core: Derived<V>
29
- } & Derived<V>
30
-
@@ -1,5 +1,5 @@
1
1
 
2
2
  export function defaultCompare(a: any, b: any) {
3
- return a === b
3
+ return Object.is(a, b)
4
4
  }
5
5
 
@@ -0,0 +1,9 @@
1
+
2
+ export const _lock = Symbol()
3
+ export const _dirty = Symbol()
4
+ export const _effect = Symbol()
5
+ export const _collect = Symbol()
6
+ export const _compare = Symbol()
7
+ export const _formula = Symbol()
8
+ export const _disposers = Symbol()
9
+
package/s/tests.test.ts CHANGED
@@ -1,69 +1,13 @@
1
1
 
2
- import {expect, Science, test} from "@e280/science"
2
+ import {Science} from "@e280/science"
3
3
 
4
- import tree from "./tree/tree.test.js"
5
4
  import prism from "./prism/prism.test.js"
6
5
  import signals from "./signals/signals.test.js"
7
6
  import tracker from "./tracker/tracker.test.js"
8
7
 
9
- import {signal} from "./signals/porcelain.js"
10
- import {effect} from "./signals/core/effect.js"
11
- import {Trunk} from "./tree/parts/trunk.js"
12
-
13
8
  await Science.run({
14
- tree,
15
9
  prism,
16
-
17
10
  signals,
18
11
  tracker,
19
-
20
- interop: Science.suite.skip({
21
- "effect responds to trunk change": test(async() => {
22
- const trunk = new Trunk({count: 1})
23
-
24
- let copy = 0
25
- expect(copy).is(0)
26
-
27
- effect(() => copy = trunk.state.count)
28
- expect(copy).is(1)
29
-
30
- await trunk.mutate(s => s.count++)
31
- expect(copy).is(2)
32
- }),
33
-
34
- "signal.set participates in flush": test(async() => {
35
- let order: string[] = []
36
- const count = signal(0)
37
-
38
- effect(() => {
39
- if (count.value)
40
- order.push("effect")
41
- })
42
-
43
- order.push("before")
44
- await count.set(1)
45
- order.push("after")
46
-
47
- expect(order.length).is(3)
48
- expect(order[0]).is("before")
49
- expect(order[1]).is("effect")
50
- expect(order[2]).is("after")
51
- }),
52
-
53
- "branch can include signal value": test(async() => {
54
- const bingus = signal(101)
55
- const trunk = new Trunk({count: 1})
56
- const branch = trunk.branch(s => ({
57
- count: s.count,
58
- bingus: bingus.value,
59
- }))
60
- expect(branch.state.count).is(1)
61
- expect(branch.state.bingus).is(101)
62
-
63
- await bingus.set(102)
64
- expect(branch.state.count).is(1)
65
- expect(branch.state.bingus).is(102)
66
- }),
67
- }),
68
12
  })
69
13
 
package/x/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
1
  export * from "./prism/index.js";
2
2
  export * from "./signals/index.js";
3
3
  export * from "./tracker/index.js";
4
- export * from "./tree/index.js";
package/x/index.js CHANGED
@@ -1,5 +1,4 @@
1
1
  export * from "./prism/index.js";
2
2
  export * from "./signals/index.js";
3
3
  export * from "./tracker/index.js";
4
- export * from "./tree/index.js";
5
4
  //# sourceMappingURL=index.js.map
package/x/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../s/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../s/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"prism.js","sourceRoot":"","sources":["../../s/prism/prism.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAE,GAAG,EAAC,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE/C,wCAAwC;AACxC,MAAM,OAAO,KAAK;IACjB,MAAM,CAAO;IACb,OAAO,GAAG,IAAI,GAAG,EAAa,CAAA;IAE9B,EAAE,GAAG,GAAG,EAAkB,CAAA;IAC1B,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAErE,YAAY,KAAY;QACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,GAAG;QACF,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QACxB,OAAO,IAAI,CAAC,MAAM,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAAY;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAC/D,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAChC,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED,IAAI,CAAS,QAAkC;QAC9C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAS;YAC7B,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;YACrC,MAAM,EAAE,KAAK,EAAC,EAAE,EAAC,EAAE;gBAClB,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;gBACxC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBAC3B,OAAO,MAAM,CAAA;YACd,CAAC;YACD,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;SAC5C,CAAC,CAAA;QACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACtB,OAAO,IAAI,CAAA;IACZ,CAAC;CACD"}
1
+ {"version":3,"file":"prism.js","sourceRoot":"","sources":["../../s/prism/prism.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAE,GAAG,EAAC,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAC9B,OAAO,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAA;AAE7C,wCAAwC;AACxC,MAAM,OAAO,KAAK;IACjB,MAAM,CAAO;IACb,OAAO,GAAG,IAAI,GAAG,EAAa,CAAA;IAE9B,EAAE,GAAG,GAAG,EAAkB,CAAA;IAC1B,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAErE,YAAY,KAAY;QACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,GAAG;QACF,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QACxB,OAAO,IAAI,CAAC,MAAM,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAAY;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAC/D,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAChC,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED,IAAI,CAAS,QAAkC;QAC9C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAS;YAC7B,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;YACrC,MAAM,EAAE,KAAK,EAAC,EAAE,EAAC,EAAE;gBAClB,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;gBACxC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBAC3B,OAAO,MAAM,CAAA;YACd,CAAC;YACD,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;SAC5C,CAAC,CAAA;QACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACtB,OAAO,IAAI,CAAA;IACZ,CAAC;CACD"}
@@ -2,7 +2,7 @@ import { suite, test, expect } from "@e280/science";
2
2
  import { Prism } from "./prism.js";
3
3
  import { Chrono } from "./chrono/chrono.js";
4
4
  import { chronicle } from "./chrono/chronicle.js";
5
- import { effect } from "../signals/core/effect.js";
5
+ import { effect } from "../signals/effect/effect.js";
6
6
  export default suite({
7
7
  "prism": suite({
8
8
  "get/set state": test(async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"prism.test.js","sourceRoot":"","sources":["../../s/prism/prism.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prism.test.js","sourceRoot":"","sources":["../../s/prism/prism.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAC,MAAM,eAAe,CAAA;AAEjD,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAA;AAChC,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAA;AACzC,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAC,MAAM,EAAC,MAAM,6BAA6B,CAAA;AAElD,eAAe,KAAK,CAAC;IACpB,OAAO,EAAE,KAAK,CAAC;QACd,eAAe,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YAC/B,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC,CAAA;YACnC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC/B,MAAM,KAAK,CAAC,GAAG,CAAC,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC,CAAA;YAC3B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAChC,CAAC,CAAC;QAEF,mCAAmC,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YACnD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC,CAAA;YACnC,IAAI,SAAS,GAAG,CAAC,CAAA;YACjB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE;gBACxB,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAA;gBACtB,SAAS,EAAE,CAAA;YACZ,CAAC,CAAC,CAAA;YACF,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACvB,MAAM,KAAK,CAAC,GAAG,CAAC,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC,CAAA;YAC3B,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACvB,IAAI,EAAE,CAAA;QACP,CAAC,CAAC;KACF,CAAC;IAEF,MAAM,EAAE,KAAK,CAAC;QACb,WAAW,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YAC3B,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAC,CAAC,CAAA;YAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACpC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC/B,CAAC,CAAC;QAEF,oBAAoB,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YACpC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAC,CAAC,CAAA;YAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACpC,MAAM,CAAC,GAAG,EAAE,CAAE,IAAI,CAAC,KAAa,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAA;QACnD,CAAC,CAAC;QAEF,iBAAiB,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YACjC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAC,CAAC,CAAA;YAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACpC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YACjC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC9B,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YACjC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC/B,CAAC,CAAC;QAEF,gCAAgC,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YAChD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAC,CAAC,CAAA;YAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC/B,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC,CAAA;YAC3C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACnC,MAAM,CAAC,GAAG,EAAE,CAAE,IAAI,CAAC,KAAK,CAAC,IAAY,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAA;QACxD,CAAC,CAAC;QAEF,eAAe,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YAC/B,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAC,CAAC,CAAA;YAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACpC,IAAI,UAAU,GAAG,CAAC,CAAA;YAClB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE;gBACxB,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAA;gBACrB,UAAU,EAAE,CAAA;YACb,CAAC,CAAC,CAAA;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YACjC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACxB,IAAI,EAAE,CAAA;QACP,CAAC,CAAC;QAEF,sBAAsB,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YACtC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAC,CAAC,CAAA;YAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACpC,IAAI,UAAU,GAAG,CAAC,CAAA;YAClB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,UAAU,EAAE,CAAC,CAAA;YAC7C,MAAM,OAAO,CAAC,GAAG,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;aAC3B,CAAC,CAAA;YACF,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACxB,IAAI,EAAE,CAAA;QACP,CAAC,CAAC;QAEF,2BAA2B,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YAC3C,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAAC,EAAC,CAAC,CAAA;YACjD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACpC,IAAI,UAAU,GAAG,CAAC,CAAA;YAClB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,UAAU,EAAE,CAAC,CAAA;YAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;YAC5C,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACxB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACrC,IAAI,EAAE,CAAA;QACP,CAAC,CAAC;QAEF,gBAAgB,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YAChC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAC,CAAC,CAAA;YAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACpC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YACtC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YACtC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC9B,MAAM,EAAE,CAAA;YACR,MAAM,EAAE,CAAA;QACT,CAAC,CAAC;QAEF,mBAAmB,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YAEnC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAI,EAAC,CAAC,EAAE,EAAC,CAAC,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAC,EAAC,CAAC,CAAA;YAChD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YACpC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC/B,MAAM,KAAK,CAAC,GAAG,CAAC,EAAC,CAAC,EAAE,SAAS,EAAC,CAAC,CAAA;YAC/B,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;QACxC,CAAC,CAAC;QAEF,kBAAkB,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YAClC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,CAAC,EAAE,EAAC,CAAC,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAC,EAAC,CAAC,CAAA;YAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAClC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAClC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACnC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACjC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAChC,CAAC,CAAC;QAEF,gBAAgB,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YAChC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,CAAC,EAAE,EAAC,CAAC,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAC,EAAC,CAAC,CAAA;YAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAClC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAClC,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YAClC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACnC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACjC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC/B,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC,CAAA;YACzC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACnC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACjC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAChC,CAAC,CAAC;QAEF,2BAA2B,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YAC3C,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,CAAC,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,CAAC,EAAE,EAAC,KAAK,EAAE,GAAG,EAAC,EAAC,CAAC,CAAA;YACzD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAClC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAClC,IAAI,WAAW,GAAG,CAAC,CAAA;YACnB,IAAI,WAAW,GAAG,CAAC,CAAA;YACnB,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,WAAW,EAAE,CAAC,CAAA;YAChD,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,WAAW,EAAE,CAAC,CAAA;YAChD,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YAClC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACzB,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACzB,KAAK,EAAE,CAAA;YACP,KAAK,EAAE,CAAA;QACR,CAAC,CAAC;QAEF,uCAAuC,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YACvD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,CAAC,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,CAAC,EAAE,EAAC,KAAK,EAAE,GAAG,EAAC,EAAC,CAAC,CAAA;YACzD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAClC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAClC,IAAI,WAAW,GAAG,CAAC,CAAA;YACnB,IAAI,WAAW,GAAG,CAAC,CAAA;YACnB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE;gBACzB,KAAK,KAAK,CAAC,KAAK,CAAC,KAAK,CAAA;gBACtB,WAAW,EAAE,CAAA;YACd,CAAC,CAAC,CAAA;YACF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE;gBACzB,KAAK,KAAK,CAAC,KAAK,CAAC,KAAK,CAAA;gBACtB,WAAW,EAAE,CAAA;YACd,CAAC,CAAC,CAAA;YACF,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YAClC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACzB,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACzB,KAAK,EAAE,CAAA;YACP,KAAK,EAAE,CAAA;QACR,CAAC,CAAC;KACF,CAAC;IAEF,QAAQ,EAAE,KAAK,CAAC;QACf,mBAAmB,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YACnC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,IAAI,EAAE,SAAS,CAAC,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC,EAAC,CAAC,CAAA;YACtD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACpC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACjC,CAAC,CAAC;QAEF,UAAU,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YAC1B,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,IAAI,EAAE,SAAS,CAAC,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC,EAAC,CAAC,CAAA;YACtD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACpC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;YACnC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAChC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACjC,CAAC,CAAC;QAEF,mBAAmB,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YACnC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,IAAI,EAAE,SAAS,CAAC,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC,EAAC,CAAC,CAAA;YACtD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACpC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;YACnC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC7B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC7B,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YACnC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC7B,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YACnC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC7B,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YACnB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC7B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC7B,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YACnB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC7B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC7B,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YACnB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC7B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC9B,CAAC,CAAC;QAEF,MAAM,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YACtB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,IAAI,EAAE,SAAS,CAAC,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC,EAAC,CAAC,CAAA;YACtD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACpC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;YAEnC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAEhC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YACnB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACjC,CAAC,CAAC;QAEF,WAAW,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YAC3B,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,IAAI,EAAE,SAAS,CAAC,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC,EAAC,CAAC,CAAA;YACtD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACpC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;YAEnC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YAC7B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAEhC,MAAM,CAAC,IAAI,EAAE,CAAA;YACb,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACjC,CAAC,CAAC;QAEF,MAAM,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YACtB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,IAAI,EAAE,SAAS,CAAC,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC,EAAC,CAAC,CAAA;YACtD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACpC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;YAEnC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAEhC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YACnB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAEhC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YACnB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACjC,CAAC,CAAC;QAEF,sBAAsB,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YACtC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,IAAI,EAAE,SAAS,CAAC,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC,EAAC,CAAC,CAAA;YACtD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACpC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;YAEnC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YACnC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YACnC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAEhC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YACnB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAEhC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YACnB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAEhC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YACnB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAEhC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YACnB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAEhC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YACnB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAEhC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YACnB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAEhC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YACnB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACjC,CAAC,CAAC;QAEF,2BAA2B,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YAC3C,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,IAAI,EAAE,SAAS,CAAC,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC,EAAC,CAAC,CAAA;YACtD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACpC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;YACnC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YACnB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACjC,CAAC,CAAC;QAEF,2BAA2B,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YAC3C,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,IAAI,EAAE,SAAS,CAAC,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC,EAAC,CAAC,CAAA;YACtD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACpC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;YACnC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YACnB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACjC,CAAC,CAAC;QAEF,SAAS,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YACzB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,IAAI,EAAE,SAAS,CAAC,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC,EAAC,CAAC,CAAA;YACtD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACpC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;YACnC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YACnC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YACnC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAChC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACpB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACjC,CAAC,CAAC;QAEF,SAAS,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YACzB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,IAAI,EAAE,SAAS,CAAC,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC,EAAC,CAAC,CAAA;YACtD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACpC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;YACnC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YACnC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YACnC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAChC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACpB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAChC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACpB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACjC,CAAC,CAAC;QAEF,gCAAgC,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YAChD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,IAAI,EAAE,SAAS,CAAC,EAAC,CAAC,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAC,CAAC,EAAC,CAAC,CAAA;YAC3D,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;YACtD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACrC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACjC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YACpC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACjC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YACnB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAClC,CAAC,CAAC;KACF,CAAC;CACF,CAAC,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { Sub } from "@e280/stz";
2
+ import { SignalOptions } from "../types.js";
3
+ export interface Derived<Value> {
4
+ (): Value;
5
+ }
6
+ export declare class Derived<Value> {
7
+ sneak: Value;
8
+ on: Sub<[Value]>;
9
+ dispose: () => void;
10
+ constructor(formula: () => Value, options?: Partial<SignalOptions>);
11
+ get value(): any;
12
+ get(): Value;
13
+ toString(): string;
14
+ }
@@ -0,0 +1,23 @@
1
+ import { derived } from "./fn.js";
2
+ import { tracker } from "../../tracker/tracker.js";
3
+ export class Derived {
4
+ sneak;
5
+ on;
6
+ dispose;
7
+ constructor(formula, options) {
8
+ if (new.target !== Derived)
9
+ throw new Error("Derived cannot be subclassed");
10
+ return derived(formula, options);
11
+ }
12
+ get value() {
13
+ return this.get();
14
+ }
15
+ get() {
16
+ tracker.notifyRead(this);
17
+ return this.sneak;
18
+ }
19
+ toString() {
20
+ return `(derived "${String(this.get())}")`;
21
+ }
22
+ }
23
+ //# sourceMappingURL=class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"class.js","sourceRoot":"","sources":["../../../s/signals/derived/class.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,OAAO,EAAC,MAAM,SAAS,CAAA;AAE/B,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAA;AAMhD,MAAM,OAAO,OAAO;IACnB,KAAK,CAAQ;IACb,EAAE,CAAe;IACjB,OAAO,CAAa;IAEpB,YAAY,OAAoB,EAAE,OAAgC;QACjE,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAC3E,OAAO,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACjC,CAAC;IAED,IAAI,KAAK;QACR,OAAQ,IAAqB,CAAC,GAAG,EAAE,CAAA;IACpC,CAAC;IAED,GAAG;QACF,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QACxB,OAAO,IAAI,CAAC,KAAK,CAAA;IAClB,CAAC;IAED,QAAQ;QACP,OAAO,aAAa,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAA;IAC3C,CAAC;CACD"}
@@ -0,0 +1,3 @@
1
+ import { Derived } from "./class.js";
2
+ import { SignalOptions } from "../types.js";
3
+ export declare function derived<Value>(formula: () => Value, options?: Partial<SignalOptions>): Derived<Value>;
@@ -0,0 +1,28 @@
1
+ import { sub } from "@e280/stz";
2
+ import { Derived } from "./class.js";
3
+ import { watch } from "../effect/watch.js";
4
+ import { tracker } from "../../tracker/tracker.js";
5
+ import { defaultCompare } from "../utils/default-compare.js";
6
+ export function derived(formula, options) {
7
+ function fn() {
8
+ return fn.get();
9
+ }
10
+ const compare = options?.compare ?? defaultCompare;
11
+ Object.setPrototypeOf(fn, Derived.prototype);
12
+ fn.on = sub();
13
+ const { result, dispose } = watch(formula, async () => {
14
+ const value = formula();
15
+ const isChanged = !compare(fn.sneak, value);
16
+ if (isChanged) {
17
+ fn.sneak = value;
18
+ await Promise.all([
19
+ tracker.notifyWrite(fn),
20
+ fn.on.pub(value),
21
+ ]);
22
+ }
23
+ });
24
+ fn.sneak = result;
25
+ fn.dispose = dispose;
26
+ return fn;
27
+ }
28
+ //# sourceMappingURL=fn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fn.js","sourceRoot":"","sources":["../../../s/signals/derived/fn.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,WAAW,CAAA;AAC7B,OAAO,EAAC,OAAO,EAAC,MAAM,YAAY,CAAA;AAClC,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAA;AAExC,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAA;AAE1D,MAAM,UAAU,OAAO,CAAQ,OAAoB,EAAE,OAAgC;IACpF,SAAS,EAAE;QACV,OAAQ,EAAqB,CAAC,GAAG,EAAE,CAAA;IACpC,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,cAAc,CAAA;IAElD,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5C,EAAE,CAAC,EAAE,GAAG,GAAG,EAAW,CAAA;IAEtB,MAAM,EAAC,MAAM,EAAE,OAAO,EAAC,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,IAAG,EAAE;QAClD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAA;QACvB,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAC3C,IAAI,SAAS,EAAE,CAAC;YACf,EAAE,CAAC,KAAK,GAAG,KAAK,CAAA;YAChB,MAAM,OAAO,CAAC,GAAG,CAAC;gBACjB,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvB,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;aAChB,CAAC,CAAA;QACH,CAAC;IACF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,KAAK,GAAG,MAAM,CAAA;IACjB,EAAE,CAAC,OAAO,GAAG,OAAO,CAAA;IAEpB,OAAO,EAAoB,CAAA;AAC5B,CAAC"}
@@ -5,8 +5,6 @@ declare const _default: {
5
5
  "effect doesn't overreact to derived": Science.Test;
6
6
  "derived.on": Science.Test;
7
7
  "derived.on not called if result doesn't change": Science.Test;
8
- "hipster fns": {
9
- basic: Science.Test;
10
- };
8
+ "hipster syntax": Science.Test;
11
9
  };
12
10
  export default _default;