@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 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.value); // Output: 0
40
+ console.log(count.get()); // Output: 0
41
41
 
42
- count.value = 5;
43
- console.log(count.value); // Output: 5
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.value * 2);
52
+ const doubledCount = Cell.derived(() => count.get() * 2);
53
53
 
54
- console.log(doubledCount.value); // Output: 0
54
+ console.log(doubledCount.get()); // Output: 0
55
55
 
56
- count.value = 5;
57
- console.log(doubledCount.value); // Output: 10
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.value = 3; // Output: "Count changed to: 3"
72
- count.value = 7; // Output: "Count changed to: 7"
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
- Cell.afterUpdate(() => {
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.value = 1;
89
- cell2.value = 2;
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
@@ -1,2 +1,3 @@
1
+ /// <reference types="./index.d.ts" />
1
2
  export * from './library/index.js';
2
3
  //# sourceMappingURL=index.js.map
@@ -14,7 +14,7 @@
14
14
  * count.listen(value => console.log('Count changed:', value));
15
15
  *
16
16
  * // Update the value
17
- * count.value = 1; // Logs: Count changed: 1
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.value); // Hello world.
31
+ * console.log(cell.get()); // Hello world.
32
32
  *
33
- * cell.value = 'Greetings!';
34
- * console.log(cell.value) // Greetings!
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.value * 2);
47
+ * const derived = Cell.derived(() => cell.get() * 2);
48
48
  *
49
- * console.log(derived.value); // 4
49
+ * console.log(derived.get()); // 4
50
50
  *
51
- * cell.value = 3;
52
- * console.log(derived.value); // 6
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
- readonly get derivedCells(): DerivedCell<any>[];
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 value(): T;
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 a watcher.
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.value = 43;
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 value(value: T);
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 Reference<T> = {
358
- deref: () => T | undefined;
359
- };
332
+ export type Cellular<T> = () => T;
@@ -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 batchNestingLevel = 0;
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 batchedEffects = new Map();
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 activeComputedValues = [];
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 updateBuffer = new Set();
75
+ const UPDATE_BUFFER = new Set();
71
76
  /** @type {WeakMap<Cell<any>, Set<WeakRef<DerivedCell<any>>>>} */
72
- const derivedCellMap = new WeakMap();
73
- let isUpdating = false;
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
- isUpdating = true;
87
- for (const cell of updateBuffer) {
91
+ IS_UPDATING = true;
92
+ for (const cell of UPDATE_BUFFER) {
88
93
  if (cell instanceof DerivedCell) {
89
94
  const newValue = cell.computedFn();
90
- if (deepEqual(cell.peek(), newValue))
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 = derivedCellMap.get(cell);
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 (batchNestingLevel > 0) {
106
- batchedEffects.set(() => {
111
+ if (BATCH_NESTING_LEVEL > 0) {
112
+ BATCHED_EFFECTS.set(() => {
107
113
  if (!computedCell.initialized)
108
114
  return;
109
- updateBuffer.add(computedCell);
115
+ UPDATE_BUFFER.add(computedCell);
110
116
  }, undefined);
111
117
  }
112
118
  else {
113
119
  if (!computedCell.initialized)
114
120
  continue;
115
- updateBuffer.add(computedCell);
121
+ UPDATE_BUFFER.add(computedCell);
116
122
  }
117
123
  }
118
124
  //@ts-ignore: Cell.update is protected.
119
125
  cell.update();
120
126
  }
121
- updateBuffer.clear();
122
- isUpdating = false;
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 mutativeMethods = {
133
- Map: {
134
- set: Symbol('set'),
135
- delete: Symbol('delete'),
136
- clear: Symbol('clear'),
137
- },
138
- Set: {
139
- add: Symbol('add'),
140
- delete: Symbol('delete'),
141
- clear: Symbol('clear'),
142
- },
143
- Array: {
144
- push: Symbol('push'),
145
- pop: Symbol('pop'),
146
- shift: Symbol('shift'),
147
- unshift: Symbol('unshift'),
148
- splice: Symbol('splice'),
149
- sort: Symbol('sort'),
150
- reverse: Symbol('reverse'),
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.value = 1; // Logs: Count changed: 1
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 = derivedCellMap.get(this);
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.revalued;
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 value() {
299
- return this.wvalue;
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 = activeComputedValues[activeComputedValues.length - 1];
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
- let dependents = derivedCellMap.get(this);
276
+ }
277
+ let dependents = DERIVED_CELLS.get(this);
318
278
  if (dependents === undefined) {
319
279
  dependents = new Set();
320
- derivedCellMap.set(this, dependents);
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.peek();
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 (batchNestingLevel > 0) {
463
- batchedEffects.set(watcher, wvalue);
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 a watcher.
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.value); // Hello world.
455
+ * console.log(cell.get()); // Hello world.
495
456
  *
496
- * cell.value = 'Greetings!';
497
- * console.log(cell.value) // Greetings!
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.value * 2);
471
+ * const derived = Cell.derived(() => cell.get() * 2);
511
472
  *
512
- * console.log(derived.value); // 4
473
+ * console.log(derived.get()); // 4
513
474
  *
514
- * cell.value = 3;
515
- * console.log(derived.value); // 6
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
- batchNestingLevel++;
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
- batchNestingLevel--;
497
+ BATCH_NESTING_LEVEL--;
537
498
  if (error instanceof Error) {
538
499
  cellErrors.push(error);
539
500
  }
540
- if (batchNestingLevel === 0) {
541
- for (const [effect, args] of batchedEffects) {
501
+ if (BATCH_NESTING_LEVEL === 0) {
502
+ for (const [effect, args] of BATCHED_EFFECTS) {
542
503
  effect(args);
543
504
  }
544
- if (!isUpdating)
505
+ if (!IS_UPDATING)
545
506
  triggerUpdate();
546
- batchedEffects = new Map();
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.value = true;
632
- error.value = null;
633
- data.value = null;
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.value = result;
599
+ data.set(result);
639
600
  }
640
601
  catch (e) {
641
602
  if (e instanceof Error) {
642
- error.value = e;
603
+ error.set(e);
643
604
  }
644
605
  else {
645
606
  throw e;
646
607
  }
647
608
  }
648
609
  finally {
649
- pending.value = false;
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.value = true;
620
+ pending.set(true);
660
621
  }
661
622
  try {
662
623
  const result = await getter(
663
624
  /** @type {X} */ (newInput ?? initialInput));
664
- data.value = result;
625
+ data.set(result);
665
626
  }
666
627
  catch (e) {
667
628
  if (e instanceof Error) {
668
- error.value = e;
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.value = false;
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
- activeComputedValues.push(this);
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
- activeComputedValues.pop();
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
- * @readonly
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 value() {
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.value = 43;
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(this.#proxy(value));
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
- get value() {
838
- return this.revalued;
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 value(value) {
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.peek();
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(this.#proxy(value));
855
- if (typeof value === 'object' && value !== null) {
856
- this.#originalObject = value;
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
- const formerValue = Reflect.get(target, prop);
922
- Reflect.set(target, prop, value);
829
+ // @ts-ignore: dynamic object access.
830
+ const formerValue = target[prop];
923
831
  const isEqual = deepEqual(formerValue, value);
924
832
  if (!isEqual) {
925
- updateBuffer.add(this);
926
- if (!isUpdating)
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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"}
@@ -1,3 +1,4 @@
1
+ /// <reference types="./index.d.ts" />
1
2
  import { DerivedCell, SourceCell, Cell, CellUpdateError } from './classes.js';
2
3
  /**
3
4
  * Represents a partial map of cells, where each key in the object type `T` is mapped to either a `Cell<T[key]>` or the raw type `T[key]`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adbl/cells",
3
- "version": "0.0.13",
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": {