@adbl/cells 0.0.13 → 0.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -13
- package/add-references.sh +19 -0
- package/dist/index.js +1 -0
- package/dist/library/classes.d.ts +16 -43
- package/dist/library/classes.js +128 -217
- package/dist/library/classes.js.map +1 -1
- package/dist/library/index.js +1 -0
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -37,10 +37,10 @@ Source cells are the building blocks of your reactive state. They hold values th
|
|
|
37
37
|
import { Cell } from '@adbl/cells';
|
|
38
38
|
|
|
39
39
|
const count = Cell.source(0);
|
|
40
|
-
console.log(count.
|
|
40
|
+
console.log(count.get()); // Output: 0
|
|
41
41
|
|
|
42
|
-
count.
|
|
43
|
-
console.log(count.
|
|
42
|
+
count.set(5);
|
|
43
|
+
console.log(count.get()); // Output: 5
|
|
44
44
|
```
|
|
45
45
|
|
|
46
46
|
### 2. Derived Cells
|
|
@@ -49,12 +49,12 @@ Derived cells allow you to create computed values based on other cells. They upd
|
|
|
49
49
|
|
|
50
50
|
```javascript
|
|
51
51
|
const count = Cell.source(0);
|
|
52
|
-
const doubledCount = Cell.derived(() => count.
|
|
52
|
+
const doubledCount = Cell.derived(() => count.get() * 2);
|
|
53
53
|
|
|
54
|
-
console.log(doubledCount.
|
|
54
|
+
console.log(doubledCount.get()); // Output: 0
|
|
55
55
|
|
|
56
|
-
count.
|
|
57
|
-
console.log(doubledCount.
|
|
56
|
+
count.set(5);
|
|
57
|
+
console.log(doubledCount.get()); // Output: 10
|
|
58
58
|
```
|
|
59
59
|
|
|
60
60
|
### 3. Reactive Effects
|
|
@@ -68,8 +68,8 @@ count.listen((newValue) => {
|
|
|
68
68
|
console.log(`Count changed to: ${newValue}`);
|
|
69
69
|
});
|
|
70
70
|
|
|
71
|
-
count.
|
|
72
|
-
count.
|
|
71
|
+
count.set(3); // Output: "Count changed to: 3"
|
|
72
|
+
count.set(7); // Output: "Count changed to: 7"
|
|
73
73
|
```
|
|
74
74
|
|
|
75
75
|
### 5. Batch Updates
|
|
@@ -80,13 +80,16 @@ When you need to perform multiple updates but only want to trigger effects once,
|
|
|
80
80
|
const cell1 = Cell.source(0);
|
|
81
81
|
const cell2 = Cell.source(0);
|
|
82
82
|
|
|
83
|
-
|
|
83
|
+
const callback = () => {
|
|
84
84
|
console.log('Update occurred');
|
|
85
|
-
}
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
cell1.listen(callback);
|
|
88
|
+
cell2.listen(callback);
|
|
86
89
|
|
|
87
90
|
Cell.batch(() => {
|
|
88
|
-
cell1.
|
|
89
|
-
cell2.
|
|
91
|
+
cell1.set(1);
|
|
92
|
+
cell2.set(2);
|
|
90
93
|
});
|
|
91
94
|
// Output: "Update occurred" (only once)
|
|
92
95
|
```
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Find all .js files in the dist directory
|
|
4
|
+
find dist -type f -name "*.js" | while read -r jsfile; do
|
|
5
|
+
# Get the base name of the file (e.g., index.js)
|
|
6
|
+
base_name=$(basename "$jsfile")
|
|
7
|
+
# Construct the corresponding .d.ts filename (e.g., index.d.ts)
|
|
8
|
+
dts_file="${base_name%.js}.d.ts"
|
|
9
|
+
# Construct the reference comment
|
|
10
|
+
reference_comment="/// <reference types=\"./$dts_file\" />"
|
|
11
|
+
|
|
12
|
+
# Check if the reference comment already exists
|
|
13
|
+
if ! grep -qF "$reference_comment" "$jsfile"; then
|
|
14
|
+
# Prepend the reference comment to the file
|
|
15
|
+
echo "$reference_comment" | cat - "$jsfile" > temp_file && mv temp_file "$jsfile"
|
|
16
|
+
fi
|
|
17
|
+
done
|
|
18
|
+
|
|
19
|
+
echo "Finished adding references."
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* count.listen(value => console.log('Count changed:', value));
|
|
15
15
|
*
|
|
16
16
|
* // Update the value
|
|
17
|
-
* count.
|
|
17
|
+
* count.set(1); // Logs: Count changed: 1
|
|
18
18
|
* ```
|
|
19
19
|
*/
|
|
20
20
|
export class Cell<T extends unknown> {
|
|
@@ -28,10 +28,10 @@ export class Cell<T extends unknown> {
|
|
|
28
28
|
* import { Cell } from '@adbl/cells';
|
|
29
29
|
*
|
|
30
30
|
* const cell = Cell.source('Hello world');
|
|
31
|
-
* console.log(cell.
|
|
31
|
+
* console.log(cell.get()); // Hello world.
|
|
32
32
|
*
|
|
33
|
-
* cell.
|
|
34
|
-
* console.log(cell.
|
|
33
|
+
* cell.set('Greetings!');
|
|
34
|
+
* console.log(cell.get()) // Greetings!
|
|
35
35
|
* ```
|
|
36
36
|
*/
|
|
37
37
|
static source: <T_1>(value: T_1, options?: Partial<CellOptions<T_1>> | undefined) => SourceCell<T_1>;
|
|
@@ -44,12 +44,12 @@ export class Cell<T extends unknown> {
|
|
|
44
44
|
* import { Cell } from '@adbl/cells';
|
|
45
45
|
*
|
|
46
46
|
* const cell = Cell.source(2);
|
|
47
|
-
* const derived = Cell.derived(() => cell.
|
|
47
|
+
* const derived = Cell.derived(() => cell.get() * 2);
|
|
48
48
|
*
|
|
49
|
-
* console.log(derived.
|
|
49
|
+
* console.log(derived.get()); // 4
|
|
50
50
|
*
|
|
51
|
-
* cell.
|
|
52
|
-
* console.log(derived.
|
|
51
|
+
* cell.set(3);
|
|
52
|
+
* console.log(derived.get()); // 6
|
|
53
53
|
* ```
|
|
54
54
|
*/
|
|
55
55
|
static derived: <T_2>(callback: () => T_2) => DerivedCell<T_2>;
|
|
@@ -108,10 +108,9 @@ export class Cell<T extends unknown> {
|
|
|
108
108
|
*/
|
|
109
109
|
static async<X_1, Y>(getter: (input: X_1) => Promise<Y>): AsyncRequestAtoms<X_1, Y>;
|
|
110
110
|
/**
|
|
111
|
-
* @readonly
|
|
112
111
|
* @returns {Array<DerivedCell<any>>}
|
|
113
112
|
*/
|
|
114
|
-
|
|
113
|
+
get derivedCells(): DerivedCell<any>[];
|
|
115
114
|
/**
|
|
116
115
|
* @protected @type T
|
|
117
116
|
*/
|
|
@@ -127,9 +126,10 @@ export class Cell<T extends unknown> {
|
|
|
127
126
|
*/
|
|
128
127
|
valueOf(): T;
|
|
129
128
|
/**
|
|
130
|
-
* Gets the current value of the cell.
|
|
129
|
+
* Gets the current value of the cell and registers it as a dependency if called within a derived cell computation.
|
|
130
|
+
* @returns {T} The value of the Cell.
|
|
131
131
|
*/
|
|
132
|
-
get
|
|
132
|
+
get(): T;
|
|
133
133
|
/**
|
|
134
134
|
* Stringifies the value of the Cell.
|
|
135
135
|
* @returns {string}
|
|
@@ -177,7 +177,7 @@ export class Cell<T extends unknown> {
|
|
|
177
177
|
*/
|
|
178
178
|
protected update(): void;
|
|
179
179
|
/**
|
|
180
|
-
* Returns the current value of the cell without registering
|
|
180
|
+
* Returns the current value of the cell without registering dependencies.
|
|
181
181
|
* @returns {T} - The current value of the cell.
|
|
182
182
|
*/
|
|
183
183
|
peek(): T;
|
|
@@ -199,14 +199,6 @@ export class DerivedCell<T extends unknown> extends Cell<T> {
|
|
|
199
199
|
/** @type {() => T} */
|
|
200
200
|
computedFn: () => T;
|
|
201
201
|
initialized: boolean;
|
|
202
|
-
/**
|
|
203
|
-
* @readonly
|
|
204
|
-
*/
|
|
205
|
-
readonly set value(_: T);
|
|
206
|
-
/**
|
|
207
|
-
* @readonly
|
|
208
|
-
*/
|
|
209
|
-
readonly get value(): T;
|
|
210
202
|
/**
|
|
211
203
|
* Listens for changes to the cell, initializing the value if not already done.
|
|
212
204
|
* @param {(newValue: T) => void} callback - The function to call when the cell's value changes.
|
|
@@ -220,7 +212,6 @@ export class DerivedCell<T extends unknown> extends Cell<T> {
|
|
|
220
212
|
* @returns {*} The result of the parent class's runAndListen method.
|
|
221
213
|
*/
|
|
222
214
|
runAndListen(callback: (newValue: T) => void, options?: object | undefined): any;
|
|
223
|
-
deproxy(): void;
|
|
224
215
|
}
|
|
225
216
|
/**
|
|
226
217
|
* @template {*} T
|
|
@@ -240,7 +231,7 @@ export class DerivedCell<T extends unknown> extends Cell<T> {
|
|
|
240
231
|
* // With options
|
|
241
232
|
* const immutableCell = Cell.source(42, { immutable: true });
|
|
242
233
|
* // Will throw error:
|
|
243
|
-
* immutableCell.
|
|
234
|
+
* immutableCell.set(43);
|
|
244
235
|
* ```
|
|
245
236
|
*/
|
|
246
237
|
export class SourceCell<T extends unknown> extends Cell<T> {
|
|
@@ -251,27 +242,11 @@ export class SourceCell<T extends unknown> extends Cell<T> {
|
|
|
251
242
|
*/
|
|
252
243
|
constructor(value: T, options?: Partial<CellOptions<T>> | undefined);
|
|
253
244
|
options: Partial<CellOptions<T>> | undefined;
|
|
254
|
-
/**
|
|
255
|
-
* For cells containing objects, returns the object itself.
|
|
256
|
-
* This can be useful in scenarios where unfettered access to the original object is needed,
|
|
257
|
-
* such as when using the object as a cache.
|
|
258
|
-
*
|
|
259
|
-
* @example
|
|
260
|
-
* const cell = new SourceCell({ a: 1, b: 2 });
|
|
261
|
-
* console.log(cell.deproxy()); // { a: 1, b: 2 }
|
|
262
|
-
*
|
|
263
|
-
* cell.value = { a: 3, b: 4 };
|
|
264
|
-
* console.log(cell.deproxy()); // { a: 3, b: 4 }
|
|
265
|
-
*
|
|
266
|
-
* @returns {T extends object ? T : never} The original object if T is an object, otherwise never.
|
|
267
|
-
*/
|
|
268
|
-
deproxy(): T extends object ? T : never;
|
|
269
245
|
/**
|
|
270
246
|
* Sets the value stored in the Cell and triggers an update.
|
|
271
247
|
* @param {T} value
|
|
272
248
|
*/
|
|
273
|
-
set
|
|
274
|
-
get value(): T;
|
|
249
|
+
set(value: T): void;
|
|
275
250
|
#private;
|
|
276
251
|
}
|
|
277
252
|
/**
|
|
@@ -354,6 +329,4 @@ export type CellOptions<T> = {
|
|
|
354
329
|
equals?: ((oldValue: T, newValue: T) => boolean) | undefined;
|
|
355
330
|
};
|
|
356
331
|
export type NeverIfAny<T> = 0 extends (1 & T) ? never : T;
|
|
357
|
-
export type
|
|
358
|
-
deref: () => T | undefined;
|
|
359
|
-
};
|
|
332
|
+
export type Cellular<T> = () => T;
|
package/dist/library/classes.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="./classes.d.ts" />
|
|
1
2
|
/**
|
|
2
3
|
* @template Input, Output
|
|
3
4
|
* @typedef {Object} AsyncRequestAtoms
|
|
@@ -43,34 +44,38 @@
|
|
|
43
44
|
* @template T
|
|
44
45
|
* @typedef {0 extends (1 & T) ? never : T} NeverIfAny
|
|
45
46
|
*/
|
|
47
|
+
/**
|
|
48
|
+
* @template T
|
|
49
|
+
* @typedef {() => T} Cellular
|
|
50
|
+
*/
|
|
46
51
|
/**
|
|
47
52
|
* The nesting level of batch operations.
|
|
48
53
|
* This will prevent nested batch operations from triggering effects when they finish.
|
|
49
54
|
* @type {number}
|
|
50
55
|
*/
|
|
51
|
-
let
|
|
56
|
+
let BATCH_NESTING_LEVEL = 0;
|
|
52
57
|
/**
|
|
53
58
|
* A map of effect tuples to be executed in a batch.
|
|
54
59
|
* The key in each entry is the effect, and the value is the argument to call it with.
|
|
55
60
|
* All callbacks in this map will be executed only once in a batch.
|
|
56
61
|
* @type {Map<Function, any>}
|
|
57
62
|
*/
|
|
58
|
-
let
|
|
63
|
+
let BATCHED_EFFECTS = new Map();
|
|
59
64
|
/**
|
|
60
65
|
* A value representing the computed values that are currently being calculated.
|
|
61
66
|
* It is an array so it can keep track of nested computed values.
|
|
62
67
|
* @type {DerivedCell<any>[]}
|
|
63
68
|
*/
|
|
64
|
-
const
|
|
69
|
+
const ACTIVE_DERIVED_CTX = [];
|
|
65
70
|
/**
|
|
66
71
|
* Tracks cells that need to be updated during the update cycle.
|
|
67
72
|
* Cells are added to this stack to be processed and updated sequentially.
|
|
68
73
|
* @type {Set<Cell<any>>}
|
|
69
74
|
*/
|
|
70
|
-
const
|
|
75
|
+
const UPDATE_BUFFER = new Set();
|
|
71
76
|
/** @type {WeakMap<Cell<any>, Set<WeakRef<DerivedCell<any>>>>} */
|
|
72
|
-
const
|
|
73
|
-
let
|
|
77
|
+
const DERIVED_CELLS = new WeakMap();
|
|
78
|
+
let IS_UPDATING = false;
|
|
74
79
|
/** @type {Error[]} */
|
|
75
80
|
const cellErrors = [];
|
|
76
81
|
/**
|
|
@@ -83,17 +88,18 @@ const cellErrors = [];
|
|
|
83
88
|
* updates of the same cell.
|
|
84
89
|
*/
|
|
85
90
|
function triggerUpdate() {
|
|
86
|
-
|
|
87
|
-
for (const cell of
|
|
91
|
+
IS_UPDATING = true;
|
|
92
|
+
for (const cell of UPDATE_BUFFER) {
|
|
88
93
|
if (cell instanceof DerivedCell) {
|
|
89
94
|
const newValue = cell.computedFn();
|
|
90
|
-
|
|
95
|
+
// @ts-ignore: wvalue is protected.
|
|
96
|
+
if (deepEqual(cell.wvalue, newValue))
|
|
91
97
|
continue;
|
|
92
98
|
// @ts-ignore: wvalue is protected.
|
|
93
99
|
cell.wvalue = newValue;
|
|
94
100
|
}
|
|
95
101
|
// Run computed dependents.
|
|
96
|
-
const computedDependents =
|
|
102
|
+
const computedDependents = DERIVED_CELLS.get(cell);
|
|
97
103
|
if (computedDependents)
|
|
98
104
|
for (const dependent of computedDependents) {
|
|
99
105
|
const deref = dependent.deref();
|
|
@@ -102,24 +108,24 @@ function triggerUpdate() {
|
|
|
102
108
|
continue;
|
|
103
109
|
}
|
|
104
110
|
const computedCell = deref;
|
|
105
|
-
if (
|
|
106
|
-
|
|
111
|
+
if (BATCH_NESTING_LEVEL > 0) {
|
|
112
|
+
BATCHED_EFFECTS.set(() => {
|
|
107
113
|
if (!computedCell.initialized)
|
|
108
114
|
return;
|
|
109
|
-
|
|
115
|
+
UPDATE_BUFFER.add(computedCell);
|
|
110
116
|
}, undefined);
|
|
111
117
|
}
|
|
112
118
|
else {
|
|
113
119
|
if (!computedCell.initialized)
|
|
114
120
|
continue;
|
|
115
|
-
|
|
121
|
+
UPDATE_BUFFER.add(computedCell);
|
|
116
122
|
}
|
|
117
123
|
}
|
|
118
124
|
//@ts-ignore: Cell.update is protected.
|
|
119
125
|
cell.update();
|
|
120
126
|
}
|
|
121
|
-
|
|
122
|
-
|
|
127
|
+
UPDATE_BUFFER.clear();
|
|
128
|
+
IS_UPDATING = false;
|
|
123
129
|
throwAnyErrors();
|
|
124
130
|
}
|
|
125
131
|
function throwAnyErrors() {
|
|
@@ -129,72 +135,26 @@ function throwAnyErrors() {
|
|
|
129
135
|
throw new CellUpdateError(errors);
|
|
130
136
|
}
|
|
131
137
|
}
|
|
132
|
-
const
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
Date: {
|
|
153
|
-
setDate: Symbol('setDate'),
|
|
154
|
-
setMonth: Symbol('setMonth'),
|
|
155
|
-
setFullYear: Symbol('setFullYear'),
|
|
156
|
-
setHours: Symbol('setHours'),
|
|
157
|
-
setMinutes: Symbol('setMinutes'),
|
|
158
|
-
setSeconds: Symbol('setSeconds'),
|
|
159
|
-
setMilliseconds: Symbol('setMilliseconds'),
|
|
160
|
-
},
|
|
161
|
-
};
|
|
162
|
-
const mutativeMapMethods = /^(set|delete|clear)$/;
|
|
163
|
-
const mutativeSetMethods = /^(add|delete|clear)$/;
|
|
164
|
-
const mutativeArrayMethods = /^(push|pop|shift|unshift|splice|sort|reverse)$/;
|
|
165
|
-
const mutativeDateMethods = /^(setDate|setMonth|setFullYear|setHours|setMinutes|setSeconds|setMilliseconds)$/;
|
|
166
|
-
/**
|
|
167
|
-
* Proxies mutative methods of a given value to trigger cell updates when called.
|
|
168
|
-
*
|
|
169
|
-
* @template {object} T
|
|
170
|
-
* @param {T} value - The object whose methods are to be proxied.
|
|
171
|
-
* @param {keyof typeof mutativeMethods} prototypeName - The name of the prototype (e.g., 'Map', 'Set') whose methods are being proxied.
|
|
172
|
-
* @param {Cell<any>} cell - The cell to be updated when a mutative method is called.
|
|
173
|
-
*/
|
|
174
|
-
const proxyMutativeMethods = (value, prototypeName, cell) => {
|
|
175
|
-
for (const method in mutativeMethods[prototypeName]) {
|
|
176
|
-
Reflect.set(value, Reflect.get(mutativeMethods[prototypeName], method),
|
|
177
|
-
/**
|
|
178
|
-
* @param {...any} args - The arguments passed to the mutative method.
|
|
179
|
-
* @returns {any} The result of calling the original method.
|
|
180
|
-
*/
|
|
181
|
-
(...args) => {
|
|
182
|
-
// @ts-ignore
|
|
183
|
-
const innerMethod = value[method]; // Direct access is faster than Reflection here.
|
|
184
|
-
const result = innerMethod.apply(value, args);
|
|
185
|
-
updateBuffer.add(cell);
|
|
186
|
-
if (!isUpdating)
|
|
187
|
-
triggerUpdate();
|
|
188
|
-
return result;
|
|
189
|
-
});
|
|
190
|
-
}
|
|
191
|
-
};
|
|
192
|
-
/**
|
|
193
|
-
* @template T
|
|
194
|
-
* @typedef {{
|
|
195
|
-
* deref: () => T | undefined
|
|
196
|
-
* }} Reference
|
|
197
|
-
*/
|
|
138
|
+
const mutativeMapMethods = new Set(['set', 'delete', 'clear']);
|
|
139
|
+
const mutativeSetMethods = new Set(['add', 'delete', 'clear']);
|
|
140
|
+
const mutativeArrayMethods = new Set([
|
|
141
|
+
'push',
|
|
142
|
+
'pop',
|
|
143
|
+
'shift',
|
|
144
|
+
'unshift',
|
|
145
|
+
'splice',
|
|
146
|
+
'sort',
|
|
147
|
+
'reverse',
|
|
148
|
+
]);
|
|
149
|
+
const mutativeDateMethods = new Set([
|
|
150
|
+
'setDate',
|
|
151
|
+
'setMonth',
|
|
152
|
+
'setFullYear',
|
|
153
|
+
'setHours',
|
|
154
|
+
'setMinutes',
|
|
155
|
+
'setSeconds',
|
|
156
|
+
'setMilliseconds',
|
|
157
|
+
]);
|
|
198
158
|
/** @template T */
|
|
199
159
|
class Effect {
|
|
200
160
|
/**
|
|
@@ -245,7 +205,7 @@ class Effect {
|
|
|
245
205
|
* count.listen(value => console.log('Count changed:', value));
|
|
246
206
|
*
|
|
247
207
|
* // Update the value
|
|
248
|
-
* count.
|
|
208
|
+
* count.set(1); // Logs: Count changed: 1
|
|
249
209
|
* ```
|
|
250
210
|
*/
|
|
251
211
|
export class Cell {
|
|
@@ -259,11 +219,10 @@ export class Cell {
|
|
|
259
219
|
}
|
|
260
220
|
}
|
|
261
221
|
/**
|
|
262
|
-
* @readonly
|
|
263
222
|
* @returns {Array<DerivedCell<any>>}
|
|
264
223
|
*/
|
|
265
224
|
get derivedCells() {
|
|
266
|
-
const dependents =
|
|
225
|
+
const dependents = DERIVED_CELLS.get(this);
|
|
267
226
|
const cells = [];
|
|
268
227
|
if (dependents) {
|
|
269
228
|
for (const cell of dependents) {
|
|
@@ -290,20 +249,20 @@ export class Cell {
|
|
|
290
249
|
* @returns {T} The value of the Cell.
|
|
291
250
|
*/
|
|
292
251
|
valueOf() {
|
|
293
|
-
return this.
|
|
252
|
+
return this.wvalue;
|
|
294
253
|
}
|
|
295
254
|
/**
|
|
296
|
-
* Gets the current value of the cell.
|
|
255
|
+
* Gets the current value of the cell and registers it as a dependency if called within a derived cell computation.
|
|
256
|
+
* @returns {T} The value of the Cell.
|
|
297
257
|
*/
|
|
298
|
-
get
|
|
299
|
-
return this.
|
|
258
|
+
get() {
|
|
259
|
+
return this.revalued;
|
|
300
260
|
}
|
|
301
261
|
/**
|
|
302
262
|
* Stringifies the value of the Cell.
|
|
303
263
|
* @returns {string}
|
|
304
264
|
*/
|
|
305
265
|
toString() {
|
|
306
|
-
// @ts-ignore
|
|
307
266
|
return String(this.wvalue);
|
|
308
267
|
}
|
|
309
268
|
/**
|
|
@@ -311,17 +270,19 @@ export class Cell {
|
|
|
311
270
|
* @protected @type {T}
|
|
312
271
|
*/
|
|
313
272
|
get revalued() {
|
|
314
|
-
const currentlyComputedValue =
|
|
315
|
-
if (currentlyComputedValue === undefined)
|
|
273
|
+
const currentlyComputedValue = ACTIVE_DERIVED_CTX[ACTIVE_DERIVED_CTX.length - 1];
|
|
274
|
+
if (currentlyComputedValue === undefined) {
|
|
316
275
|
return this.wvalue;
|
|
317
|
-
|
|
276
|
+
}
|
|
277
|
+
let dependents = DERIVED_CELLS.get(this);
|
|
318
278
|
if (dependents === undefined) {
|
|
319
279
|
dependents = new Set();
|
|
320
|
-
|
|
280
|
+
DERIVED_CELLS.set(this, dependents);
|
|
321
281
|
}
|
|
322
282
|
const isAlreadySubscribed = dependents?.has(currentlyComputedValue.ref);
|
|
323
|
-
if (isAlreadySubscribed)
|
|
283
|
+
if (isAlreadySubscribed) {
|
|
324
284
|
return this.wvalue;
|
|
285
|
+
}
|
|
325
286
|
dependents.add(currentlyComputedValue.ref);
|
|
326
287
|
return this.wvalue;
|
|
327
288
|
}
|
|
@@ -448,7 +409,7 @@ export class Cell {
|
|
|
448
409
|
*/
|
|
449
410
|
update() {
|
|
450
411
|
// Run watchers.
|
|
451
|
-
const wvalue = this.
|
|
412
|
+
const wvalue = this.wvalue;
|
|
452
413
|
const effects = this.#effects;
|
|
453
414
|
let len = effects.length;
|
|
454
415
|
for (let i = 0; i < len; i++) {
|
|
@@ -459,8 +420,8 @@ export class Cell {
|
|
|
459
420
|
len--;
|
|
460
421
|
continue;
|
|
461
422
|
}
|
|
462
|
-
if (
|
|
463
|
-
|
|
423
|
+
if (BATCH_NESTING_LEVEL > 0) {
|
|
424
|
+
BATCHED_EFFECTS.set(watcher, wvalue);
|
|
464
425
|
}
|
|
465
426
|
else {
|
|
466
427
|
try {
|
|
@@ -475,7 +436,7 @@ export class Cell {
|
|
|
475
436
|
}
|
|
476
437
|
}
|
|
477
438
|
/**
|
|
478
|
-
* Returns the current value of the cell without registering
|
|
439
|
+
* Returns the current value of the cell without registering dependencies.
|
|
479
440
|
* @returns {T} - The current value of the cell.
|
|
480
441
|
*/
|
|
481
442
|
peek() {
|
|
@@ -491,10 +452,10 @@ export class Cell {
|
|
|
491
452
|
* import { Cell } from '@adbl/cells';
|
|
492
453
|
*
|
|
493
454
|
* const cell = Cell.source('Hello world');
|
|
494
|
-
* console.log(cell.
|
|
455
|
+
* console.log(cell.get()); // Hello world.
|
|
495
456
|
*
|
|
496
|
-
* cell.
|
|
497
|
-
* console.log(cell.
|
|
457
|
+
* cell.set('Greetings!');
|
|
458
|
+
* console.log(cell.get()) // Greetings!
|
|
498
459
|
* ```
|
|
499
460
|
*/
|
|
500
461
|
static source = (value, options) => new SourceCell(value, options);
|
|
@@ -507,12 +468,12 @@ export class Cell {
|
|
|
507
468
|
* import { Cell } from '@adbl/cells';
|
|
508
469
|
*
|
|
509
470
|
* const cell = Cell.source(2);
|
|
510
|
-
* const derived = Cell.derived(() => cell.
|
|
471
|
+
* const derived = Cell.derived(() => cell.get() * 2);
|
|
511
472
|
*
|
|
512
|
-
* console.log(derived.
|
|
473
|
+
* console.log(derived.get()); // 4
|
|
513
474
|
*
|
|
514
|
-
* cell.
|
|
515
|
-
* console.log(derived.
|
|
475
|
+
* cell.set(3);
|
|
476
|
+
* console.log(derived.get()); // 6
|
|
516
477
|
* ```
|
|
517
478
|
*/
|
|
518
479
|
static derived = (callback) => new DerivedCell(callback);
|
|
@@ -523,7 +484,7 @@ export class Cell {
|
|
|
523
484
|
* @returns {X} The return value of the callback.
|
|
524
485
|
*/
|
|
525
486
|
static batch = (callback) => {
|
|
526
|
-
|
|
487
|
+
BATCH_NESTING_LEVEL++;
|
|
527
488
|
/** @type {X | undefined} */
|
|
528
489
|
let value = undefined;
|
|
529
490
|
let error;
|
|
@@ -533,17 +494,17 @@ export class Cell {
|
|
|
533
494
|
catch (e) {
|
|
534
495
|
error = e;
|
|
535
496
|
}
|
|
536
|
-
|
|
497
|
+
BATCH_NESTING_LEVEL--;
|
|
537
498
|
if (error instanceof Error) {
|
|
538
499
|
cellErrors.push(error);
|
|
539
500
|
}
|
|
540
|
-
if (
|
|
541
|
-
for (const [effect, args] of
|
|
501
|
+
if (BATCH_NESTING_LEVEL === 0) {
|
|
502
|
+
for (const [effect, args] of BATCHED_EFFECTS) {
|
|
542
503
|
effect(args);
|
|
543
504
|
}
|
|
544
|
-
if (!
|
|
505
|
+
if (!IS_UPDATING)
|
|
545
506
|
triggerUpdate();
|
|
546
|
-
|
|
507
|
+
BATCHED_EFFECTS = new Map();
|
|
547
508
|
}
|
|
548
509
|
throwAnyErrors();
|
|
549
510
|
return /** @type {X} */ (value);
|
|
@@ -628,25 +589,25 @@ export class Cell {
|
|
|
628
589
|
/** @type {X | undefined} */
|
|
629
590
|
let initialInput = undefined;
|
|
630
591
|
async function run(input = initialInput) {
|
|
631
|
-
pending.
|
|
632
|
-
error.
|
|
633
|
-
data.
|
|
592
|
+
pending.set(true);
|
|
593
|
+
error.set(null);
|
|
594
|
+
data.set(null);
|
|
634
595
|
await Cell.batch(async () => {
|
|
635
596
|
try {
|
|
636
597
|
initialInput = input;
|
|
637
598
|
const result = await getter(/** @type {X} */ (input));
|
|
638
|
-
data.
|
|
599
|
+
data.set(result);
|
|
639
600
|
}
|
|
640
601
|
catch (e) {
|
|
641
602
|
if (e instanceof Error) {
|
|
642
|
-
error.
|
|
603
|
+
error.set(e);
|
|
643
604
|
}
|
|
644
605
|
else {
|
|
645
606
|
throw e;
|
|
646
607
|
}
|
|
647
608
|
}
|
|
648
609
|
finally {
|
|
649
|
-
pending.
|
|
610
|
+
pending.set(false);
|
|
650
611
|
}
|
|
651
612
|
});
|
|
652
613
|
}
|
|
@@ -656,16 +617,16 @@ export class Cell {
|
|
|
656
617
|
*/
|
|
657
618
|
async function reload(newInput, changeLoadingState = true) {
|
|
658
619
|
if (changeLoadingState) {
|
|
659
|
-
pending.
|
|
620
|
+
pending.set(true);
|
|
660
621
|
}
|
|
661
622
|
try {
|
|
662
623
|
const result = await getter(
|
|
663
624
|
/** @type {X} */ (newInput ?? initialInput));
|
|
664
|
-
data.
|
|
625
|
+
data.set(result);
|
|
665
626
|
}
|
|
666
627
|
catch (e) {
|
|
667
628
|
if (e instanceof Error) {
|
|
668
|
-
error.
|
|
629
|
+
error.set(e);
|
|
669
630
|
}
|
|
670
631
|
else {
|
|
671
632
|
throw e;
|
|
@@ -673,7 +634,7 @@ export class Cell {
|
|
|
673
634
|
}
|
|
674
635
|
finally {
|
|
675
636
|
if (changeLoadingState) {
|
|
676
|
-
pending.
|
|
637
|
+
pending.set(false);
|
|
677
638
|
}
|
|
678
639
|
}
|
|
679
640
|
}
|
|
@@ -701,7 +662,7 @@ export class DerivedCell extends Cell {
|
|
|
701
662
|
this.ref = new WeakRef(this);
|
|
702
663
|
// Ensures that the cell is derived every time the computing function is called.
|
|
703
664
|
const derivationWrapper = () => {
|
|
704
|
-
|
|
665
|
+
ACTIVE_DERIVED_CTX.push(this);
|
|
705
666
|
let value = this.wvalue;
|
|
706
667
|
try {
|
|
707
668
|
value = computedFn();
|
|
@@ -710,7 +671,7 @@ export class DerivedCell extends Cell {
|
|
|
710
671
|
if (e instanceof Error)
|
|
711
672
|
cellErrors.push(e);
|
|
712
673
|
}
|
|
713
|
-
|
|
674
|
+
ACTIVE_DERIVED_CTX.pop();
|
|
714
675
|
return value;
|
|
715
676
|
};
|
|
716
677
|
this.computedFn = /** @type {() => T} */ (derivationWrapper);
|
|
@@ -721,9 +682,11 @@ export class DerivedCell extends Cell {
|
|
|
721
682
|
/** @type {WeakRef<this>} */
|
|
722
683
|
ref;
|
|
723
684
|
/**
|
|
724
|
-
*
|
|
685
|
+
* Gets the current value of the derived cell, computing it if necessary,
|
|
686
|
+
* and registers it as a dependency if called within another derived cell computation.
|
|
687
|
+
* @returns {T} The value of the Cell.
|
|
725
688
|
*/
|
|
726
|
-
get
|
|
689
|
+
get() {
|
|
727
690
|
if (!this.initialized) {
|
|
728
691
|
this.initialized = true;
|
|
729
692
|
this.setValue(this.computedFn());
|
|
@@ -758,15 +721,6 @@ export class DerivedCell extends Cell {
|
|
|
758
721
|
}
|
|
759
722
|
return super.runAndListen(callback, options);
|
|
760
723
|
}
|
|
761
|
-
/**
|
|
762
|
-
* @readonly
|
|
763
|
-
*/
|
|
764
|
-
set value(_) {
|
|
765
|
-
throw new Error('Cannot set a derived Cell value.');
|
|
766
|
-
}
|
|
767
|
-
deproxy() {
|
|
768
|
-
throw new Error('Cannot deproxy a derived cell.');
|
|
769
|
-
}
|
|
770
724
|
}
|
|
771
725
|
/**
|
|
772
726
|
* @template {*} T
|
|
@@ -786,12 +740,10 @@ export class DerivedCell extends Cell {
|
|
|
786
740
|
* // With options
|
|
787
741
|
* const immutableCell = Cell.source(42, { immutable: true });
|
|
788
742
|
* // Will throw error:
|
|
789
|
-
* immutableCell.
|
|
743
|
+
* immutableCell.set(43);
|
|
790
744
|
* ```
|
|
791
745
|
*/
|
|
792
746
|
export class SourceCell extends Cell {
|
|
793
|
-
/** @type {object | undefined} */
|
|
794
|
-
#originalObject;
|
|
795
747
|
/**
|
|
796
748
|
* Creates a new Cell with the provided value.
|
|
797
749
|
* @param {T} value
|
|
@@ -801,65 +753,35 @@ export class SourceCell extends Cell {
|
|
|
801
753
|
super();
|
|
802
754
|
if (options !== undefined)
|
|
803
755
|
this.options = options;
|
|
804
|
-
this.setValue(
|
|
805
|
-
if (typeof value === 'object' && value !== null) {
|
|
806
|
-
this.#originalObject = value;
|
|
807
|
-
}
|
|
808
|
-
}
|
|
809
|
-
/**
|
|
810
|
-
* For cells containing objects, returns the object itself.
|
|
811
|
-
* This can be useful in scenarios where unfettered access to the original object is needed,
|
|
812
|
-
* such as when using the object as a cache.
|
|
813
|
-
*
|
|
814
|
-
* @example
|
|
815
|
-
* const cell = new SourceCell({ a: 1, b: 2 });
|
|
816
|
-
* console.log(cell.deproxy()); // { a: 1, b: 2 }
|
|
817
|
-
*
|
|
818
|
-
* cell.value = { a: 3, b: 4 };
|
|
819
|
-
* console.log(cell.deproxy()); // { a: 3, b: 4 }
|
|
820
|
-
*
|
|
821
|
-
* @returns {T extends object ? T : never} The original object if T is an object, otherwise never.
|
|
822
|
-
*/
|
|
823
|
-
deproxy() {
|
|
824
|
-
const originalObject = this.#originalObject;
|
|
825
|
-
if (typeof originalObject === 'object' && originalObject !== null) {
|
|
826
|
-
return /** @type {T extends object ? T : never} */ (originalObject);
|
|
827
|
-
}
|
|
828
|
-
throw new Error('Cannot deproxy a non-object cell.');
|
|
756
|
+
this.setValue(value);
|
|
829
757
|
}
|
|
830
758
|
peek() {
|
|
831
|
-
const originalObject = this.#originalObject;
|
|
832
|
-
if (typeof originalObject === 'object' && originalObject !== null) {
|
|
833
|
-
return /** @type {T extends object ? T : never} */ (originalObject);
|
|
834
|
-
}
|
|
835
759
|
return this.wvalue;
|
|
836
760
|
}
|
|
837
|
-
|
|
838
|
-
|
|
761
|
+
/**
|
|
762
|
+
* Gets the current value of the source cell and registers it as a dependency if called within a derived cell computation.
|
|
763
|
+
* @returns {T} The value of the Cell.
|
|
764
|
+
*/
|
|
765
|
+
get() {
|
|
766
|
+
return this.#proxy(this.revalued);
|
|
839
767
|
}
|
|
840
768
|
/**
|
|
841
769
|
* Sets the value stored in the Cell and triggers an update.
|
|
842
770
|
* @param {T} value
|
|
843
771
|
*/
|
|
844
|
-
set
|
|
772
|
+
set(value) {
|
|
845
773
|
if (this.options?.immutable) {
|
|
846
774
|
throw new Error('Cannot set the value of an immutable cell.');
|
|
847
775
|
}
|
|
848
|
-
const oldValue = this.
|
|
776
|
+
const oldValue = this.wvalue;
|
|
849
777
|
const isEqual = this.options?.equals
|
|
850
778
|
? this.options.equals(oldValue, value)
|
|
851
779
|
: deepEqual(oldValue, value);
|
|
852
780
|
if (isEqual)
|
|
853
781
|
return;
|
|
854
|
-
this.setValue(
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
}
|
|
858
|
-
else {
|
|
859
|
-
this.#originalObject = undefined;
|
|
860
|
-
}
|
|
861
|
-
updateBuffer.add(this);
|
|
862
|
-
if (!isUpdating)
|
|
782
|
+
this.setValue(value);
|
|
783
|
+
UPDATE_BUFFER.add(this);
|
|
784
|
+
if (!IS_UPDATING)
|
|
863
785
|
triggerUpdate();
|
|
864
786
|
}
|
|
865
787
|
/**
|
|
@@ -869,21 +791,8 @@ export class SourceCell extends Cell {
|
|
|
869
791
|
* @returns {T} - The proxied value.
|
|
870
792
|
*/
|
|
871
793
|
#proxy(value) {
|
|
872
|
-
if (typeof value !== 'object' || value === null)
|
|
794
|
+
if (typeof value !== 'object' || value === null)
|
|
873
795
|
return value;
|
|
874
|
-
}
|
|
875
|
-
if (value instanceof Map) {
|
|
876
|
-
proxyMutativeMethods(value, 'Map', this);
|
|
877
|
-
}
|
|
878
|
-
else if (value instanceof Set) {
|
|
879
|
-
proxyMutativeMethods(value, 'Set', this);
|
|
880
|
-
}
|
|
881
|
-
else if (value instanceof Date) {
|
|
882
|
-
proxyMutativeMethods(value, 'Date', this);
|
|
883
|
-
}
|
|
884
|
-
else if (ArrayBuffer.isView(value) || Array.isArray(value)) {
|
|
885
|
-
proxyMutativeMethods(value, 'Array', this);
|
|
886
|
-
}
|
|
887
796
|
return new Proxy(value, {
|
|
888
797
|
get: (target, prop) => {
|
|
889
798
|
this.revalued;
|
|
@@ -891,40 +800,42 @@ export class SourceCell extends Cell {
|
|
|
891
800
|
// @ts-ignore: Direct access is faster than Reflection here.
|
|
892
801
|
return this.#proxy(target[prop]);
|
|
893
802
|
}
|
|
803
|
+
if (typeof prop === 'string') {
|
|
804
|
+
const isMutativeMethod = (target instanceof Map && mutativeMapMethods.has(prop)) ||
|
|
805
|
+
(target instanceof Set && mutativeSetMethods.has(prop)) ||
|
|
806
|
+
(target instanceof Date && mutativeDateMethods.has(prop)) ||
|
|
807
|
+
((ArrayBuffer.isView(target) || Array.isArray(target)) &&
|
|
808
|
+
mutativeArrayMethods.has(prop));
|
|
809
|
+
if (isMutativeMethod) {
|
|
810
|
+
// @ts-ignore: Direct access is faster than Reflection here.
|
|
811
|
+
return (...args) => {
|
|
812
|
+
// @ts-ignore: Direct access is faster than Reflection here.
|
|
813
|
+
const result = target[prop](...args);
|
|
814
|
+
UPDATE_BUFFER.add(this);
|
|
815
|
+
if (!IS_UPDATING)
|
|
816
|
+
triggerUpdate();
|
|
817
|
+
return result;
|
|
818
|
+
};
|
|
819
|
+
}
|
|
820
|
+
}
|
|
894
821
|
// @ts-ignore: Direct access is faster than Reflection here.
|
|
895
822
|
let value = target[prop];
|
|
896
823
|
if (typeof value === 'function') {
|
|
897
824
|
value = value.bind(target);
|
|
898
825
|
}
|
|
899
|
-
if (typeof prop === 'string') {
|
|
900
|
-
if (target instanceof Map && mutativeMapMethods.test(prop)) {
|
|
901
|
-
// @ts-ignore: Direct access is faster than Reflection here.
|
|
902
|
-
return target[mutativeMethods.Map[prop]];
|
|
903
|
-
}
|
|
904
|
-
if (target instanceof Set && mutativeSetMethods.test(prop)) {
|
|
905
|
-
// @ts-ignore: Direct access is faster than Reflection here.
|
|
906
|
-
return target[mutativeMethods.Set[prop]];
|
|
907
|
-
}
|
|
908
|
-
if (target instanceof Date && mutativeDateMethods.test(prop)) {
|
|
909
|
-
// @ts-ignore: Direct access is faster than Reflection here.
|
|
910
|
-
return target[mutativeMethods.Date[prop]];
|
|
911
|
-
}
|
|
912
|
-
if ((ArrayBuffer.isView(target) || Array.isArray(target)) &&
|
|
913
|
-
mutativeArrayMethods.test(prop)) {
|
|
914
|
-
// @ts-ignore: Direct access is faster than Reflection here.
|
|
915
|
-
return target[mutativeMethods.Array[prop]];
|
|
916
|
-
}
|
|
917
|
-
}
|
|
918
826
|
return value;
|
|
919
827
|
},
|
|
920
828
|
set: (target, prop, value) => {
|
|
921
|
-
|
|
922
|
-
|
|
829
|
+
// @ts-ignore: dynamic object access.
|
|
830
|
+
const formerValue = target[prop];
|
|
923
831
|
const isEqual = deepEqual(formerValue, value);
|
|
924
832
|
if (!isEqual) {
|
|
925
|
-
|
|
926
|
-
|
|
833
|
+
// @ts-ignore: dynamic object access.
|
|
834
|
+
target[prop] = value;
|
|
835
|
+
UPDATE_BUFFER.add(this);
|
|
836
|
+
if (!IS_UPDATING) {
|
|
927
837
|
triggerUpdate();
|
|
838
|
+
}
|
|
928
839
|
}
|
|
929
840
|
return true;
|
|
930
841
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classes.js","sourceRoot":"","sources":["../../library/classes.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"classes.js","sourceRoot":"","sources":["../../library/classes.js"],"names":[],"mappings":"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"}
|
package/dist/library/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adbl/cells",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.14",
|
|
4
4
|
"description": "A simple implementation of reactive updates for JavaScript",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"private": false,
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
"test-once": "vitest run",
|
|
12
12
|
"test": "vitest",
|
|
13
13
|
"build": "tsc --p jsconfig.json",
|
|
14
|
+
"postbuild": "chmod +x ./add-references.sh && ./add-references.sh",
|
|
14
15
|
"prepublish": "bunx pkg-pr-new publish"
|
|
15
16
|
},
|
|
16
17
|
"exports": {
|