@effect-atom/atom 0.5.0 → 0.5.1
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.
|
@@ -38,6 +38,9 @@ function _interopRequireWildcard(e, t) {
|
|
|
38
38
|
const constImmediate = {
|
|
39
39
|
immediate: true
|
|
40
40
|
};
|
|
41
|
+
const notifyListener = listener => {
|
|
42
|
+
listener();
|
|
43
|
+
};
|
|
41
44
|
const TypeId = "~effect-atom/atom/Registry";
|
|
42
45
|
/** @internal */
|
|
43
46
|
const make = options => new RegistryImpl(options?.initialValues, options?.scheduleTask, options?.timeoutResolution, options?.defaultIdleTTL);
|
|
@@ -263,10 +266,10 @@ class Node {
|
|
|
263
266
|
parents = [];
|
|
264
267
|
previousParents;
|
|
265
268
|
children = [];
|
|
266
|
-
listeners =
|
|
269
|
+
listeners = /*#__PURE__*/new Set();
|
|
267
270
|
skipInvalidation = false;
|
|
268
271
|
get canBeRemoved() {
|
|
269
|
-
return !this.atom.keepAlive && this.listeners.
|
|
272
|
+
return !this.atom.keepAlive && this.listeners.size === 0 && this.children.length === 0 && this.state !== 0;
|
|
270
273
|
}
|
|
271
274
|
_value = undefined;
|
|
272
275
|
value() {
|
|
@@ -316,7 +319,7 @@ class Node {
|
|
|
316
319
|
} else {
|
|
317
320
|
this.invalidateChildren();
|
|
318
321
|
}
|
|
319
|
-
if (this.listeners.
|
|
322
|
+
if (this.listeners.size > 0) {
|
|
320
323
|
if (batchState.phase === BatchPhase.collect) {
|
|
321
324
|
batchState.notify.add(this);
|
|
322
325
|
} else {
|
|
@@ -356,7 +359,7 @@ class Node {
|
|
|
356
359
|
}
|
|
357
360
|
if (batchState.phase === BatchPhase.collect) {
|
|
358
361
|
batchState.stale.push(this);
|
|
359
|
-
} else if (this.atom.lazy && this.listeners.
|
|
362
|
+
} else if (this.atom.lazy && this.listeners.size === 0 && !childrenAreActive(this.children)) {
|
|
360
363
|
this.invalidateChildren();
|
|
361
364
|
this.skipInvalidation = true;
|
|
362
365
|
} else {
|
|
@@ -374,9 +377,7 @@ class Node {
|
|
|
374
377
|
}
|
|
375
378
|
}
|
|
376
379
|
notify() {
|
|
377
|
-
|
|
378
|
-
this.listeners[i]();
|
|
379
|
-
}
|
|
380
|
+
this.listeners.forEach(notifyListener);
|
|
380
381
|
if (batchState.phase === BatchPhase.commit) {
|
|
381
382
|
batchState.notify.delete(this);
|
|
382
383
|
}
|
|
@@ -393,7 +394,7 @@ class Node {
|
|
|
393
394
|
}
|
|
394
395
|
remove() {
|
|
395
396
|
this.state = NodeState.removed;
|
|
396
|
-
this.listeners
|
|
397
|
+
this.listeners.clear();
|
|
397
398
|
if (this.lifetime === undefined) {
|
|
398
399
|
return;
|
|
399
400
|
}
|
|
@@ -411,14 +412,8 @@ class Node {
|
|
|
411
412
|
}
|
|
412
413
|
}
|
|
413
414
|
subscribe(listener) {
|
|
414
|
-
this.listeners.
|
|
415
|
-
return () =>
|
|
416
|
-
const index = this.listeners.indexOf(listener);
|
|
417
|
-
if (index !== -1) {
|
|
418
|
-
this.listeners[index] = this.listeners[this.listeners.length - 1];
|
|
419
|
-
this.listeners.pop();
|
|
420
|
-
}
|
|
421
|
-
};
|
|
415
|
+
this.listeners.add(listener);
|
|
416
|
+
return () => this.listeners.delete(listener);
|
|
422
417
|
}
|
|
423
418
|
}
|
|
424
419
|
function childrenAreActive(children) {
|
|
@@ -431,7 +426,7 @@ function childrenAreActive(children) {
|
|
|
431
426
|
while (current !== undefined) {
|
|
432
427
|
for (let i = 0, len = current.length; i < len; i++) {
|
|
433
428
|
const child = current[i];
|
|
434
|
-
if (!child.atom.lazy || child.listeners.
|
|
429
|
+
if (!child.atom.lazy || child.listeners.size > 0) {
|
|
435
430
|
return true;
|
|
436
431
|
} else if (child.children.length > 0) {
|
|
437
432
|
if (stack === undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","names":["Effect","_interopRequireWildcard","require","Equal","Exit","_Function","_GlobalValue","Option","Queue","Stream","Result","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","constImmediate","immediate","TypeId","make","options","RegistryImpl","initialValues","scheduleTask","timeoutResolution","defaultIdleTTL","exports","SerializableTypeId","atomKey","atom","key","constructor","cb","queueMicrotask","undefined","Math","round","value","ensureNode","setValue","nodes","Map","preloadedSerializable","timeoutBuckets","nodeTimeoutBucket","disposed","getNodes","write","writeContext","setSerializable","encoded","modify","node","result","update","refresh","invalidateAtom","subscribe","remove","_value","canBeRemoved","scheduleNodeRemoval","mount","constVoid","atomHasTtl","keepAlive","idleTTL","createNode","removeNodeTimeout","delete","decoded","decode","Error","scheduleAtomRemoval","Node","invalidate","removeNode","setNodeTimeout","currentSweepTTL","ttl","ceil","timestamp","Date","now","bucket","entry","Set","setTimeout","sweepBucket","add","handle","size","clearTimeout","forEach","reset","clear","dispose","NodeFlags","NodeState","registry","WriteContextImpl","state","uninitialized","lifetime","parents","previousParents","children","listeners","skipInvalidation","length","waitingForValue","makeLifetime","read","removeChild","valueOption","initialized","none","some","valid","batchState","phase","BatchPhase","collect","notify","equals","invalidateChildren","addParent","parent","push","index","indexOf","pop","child","stale","disposeLifetime","lazy","childrenAreActive","commit","removed","listener","current","stack","stackIndex","len","disposedError","LifetimeProto","addFinalizer","finalizers","isFn","resultOnce","suspendOnWaiting","waiting","never","_tag","failCause","cause","succeed","async","resume","once","toExit","cancel","sync","setResult","someOnce","isSome","isNone","self","refreshSelf","setSelf","a","stream","pipe","acquireRelease","bounded","bufferSize","shutdown","tap","queue","_","unsafeOffer","withoutInitialValue","map","fromQueue","unwrapScoped","streamResult","filter","isNotInitial","flatMap","setPrototypeOf","globalValue","disabled","depth","batch","batchRebuildNode"],"sources":["../../../src/internal/registry.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"registry.js","names":["Effect","_interopRequireWildcard","require","Equal","Exit","_Function","_GlobalValue","Option","Queue","Stream","Result","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","constImmediate","immediate","notifyListener","listener","TypeId","make","options","RegistryImpl","initialValues","scheduleTask","timeoutResolution","defaultIdleTTL","exports","SerializableTypeId","atomKey","atom","key","constructor","cb","queueMicrotask","undefined","Math","round","value","ensureNode","setValue","nodes","Map","preloadedSerializable","timeoutBuckets","nodeTimeoutBucket","disposed","getNodes","write","writeContext","setSerializable","encoded","modify","node","result","update","refresh","invalidateAtom","subscribe","remove","_value","canBeRemoved","scheduleNodeRemoval","mount","constVoid","atomHasTtl","keepAlive","idleTTL","createNode","removeNodeTimeout","delete","decoded","decode","Error","scheduleAtomRemoval","Node","invalidate","removeNode","setNodeTimeout","currentSweepTTL","ttl","ceil","timestamp","Date","now","bucket","entry","Set","setTimeout","sweepBucket","add","handle","size","clearTimeout","forEach","reset","clear","dispose","NodeFlags","NodeState","registry","WriteContextImpl","state","uninitialized","lifetime","parents","previousParents","children","listeners","skipInvalidation","length","waitingForValue","makeLifetime","read","removeChild","valueOption","initialized","none","some","valid","batchState","phase","BatchPhase","collect","notify","equals","invalidateChildren","addParent","parent","push","index","indexOf","pop","child","stale","disposeLifetime","lazy","childrenAreActive","commit","removed","current","stack","stackIndex","len","disposedError","LifetimeProto","addFinalizer","finalizers","isFn","resultOnce","suspendOnWaiting","waiting","never","_tag","failCause","cause","succeed","async","resume","once","toExit","cancel","sync","setResult","someOnce","isSome","isNone","self","refreshSelf","setSelf","a","stream","pipe","acquireRelease","bounded","bufferSize","shutdown","tap","queue","_","unsafeOffer","withoutInitialValue","map","fromQueue","unwrapScoped","streamResult","filter","isNotInitial","flatMap","setPrototypeOf","globalValue","disabled","depth","batch","batchRebuildNode"],"sources":["../../../src/internal/registry.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -10,6 +10,9 @@ import * as Result from "../Result.js";
|
|
|
10
10
|
const constImmediate = {
|
|
11
11
|
immediate: true
|
|
12
12
|
};
|
|
13
|
+
const notifyListener = listener => {
|
|
14
|
+
listener();
|
|
15
|
+
};
|
|
13
16
|
const TypeId = "~effect-atom/atom/Registry";
|
|
14
17
|
/** @internal */
|
|
15
18
|
export const make = options => new RegistryImpl(options?.initialValues, options?.scheduleTask, options?.timeoutResolution, options?.defaultIdleTTL);
|
|
@@ -234,10 +237,10 @@ class Node {
|
|
|
234
237
|
parents = [];
|
|
235
238
|
previousParents;
|
|
236
239
|
children = [];
|
|
237
|
-
listeners =
|
|
240
|
+
listeners = /*#__PURE__*/new Set();
|
|
238
241
|
skipInvalidation = false;
|
|
239
242
|
get canBeRemoved() {
|
|
240
|
-
return !this.atom.keepAlive && this.listeners.
|
|
243
|
+
return !this.atom.keepAlive && this.listeners.size === 0 && this.children.length === 0 && this.state !== 0;
|
|
241
244
|
}
|
|
242
245
|
_value = undefined;
|
|
243
246
|
value() {
|
|
@@ -287,7 +290,7 @@ class Node {
|
|
|
287
290
|
} else {
|
|
288
291
|
this.invalidateChildren();
|
|
289
292
|
}
|
|
290
|
-
if (this.listeners.
|
|
293
|
+
if (this.listeners.size > 0) {
|
|
291
294
|
if (batchState.phase === BatchPhase.collect) {
|
|
292
295
|
batchState.notify.add(this);
|
|
293
296
|
} else {
|
|
@@ -327,7 +330,7 @@ class Node {
|
|
|
327
330
|
}
|
|
328
331
|
if (batchState.phase === BatchPhase.collect) {
|
|
329
332
|
batchState.stale.push(this);
|
|
330
|
-
} else if (this.atom.lazy && this.listeners.
|
|
333
|
+
} else if (this.atom.lazy && this.listeners.size === 0 && !childrenAreActive(this.children)) {
|
|
331
334
|
this.invalidateChildren();
|
|
332
335
|
this.skipInvalidation = true;
|
|
333
336
|
} else {
|
|
@@ -345,9 +348,7 @@ class Node {
|
|
|
345
348
|
}
|
|
346
349
|
}
|
|
347
350
|
notify() {
|
|
348
|
-
|
|
349
|
-
this.listeners[i]();
|
|
350
|
-
}
|
|
351
|
+
this.listeners.forEach(notifyListener);
|
|
351
352
|
if (batchState.phase === BatchPhase.commit) {
|
|
352
353
|
batchState.notify.delete(this);
|
|
353
354
|
}
|
|
@@ -364,7 +365,7 @@ class Node {
|
|
|
364
365
|
}
|
|
365
366
|
remove() {
|
|
366
367
|
this.state = NodeState.removed;
|
|
367
|
-
this.listeners
|
|
368
|
+
this.listeners.clear();
|
|
368
369
|
if (this.lifetime === undefined) {
|
|
369
370
|
return;
|
|
370
371
|
}
|
|
@@ -382,14 +383,8 @@ class Node {
|
|
|
382
383
|
}
|
|
383
384
|
}
|
|
384
385
|
subscribe(listener) {
|
|
385
|
-
this.listeners.
|
|
386
|
-
return () =>
|
|
387
|
-
const index = this.listeners.indexOf(listener);
|
|
388
|
-
if (index !== -1) {
|
|
389
|
-
this.listeners[index] = this.listeners[this.listeners.length - 1];
|
|
390
|
-
this.listeners.pop();
|
|
391
|
-
}
|
|
392
|
-
};
|
|
386
|
+
this.listeners.add(listener);
|
|
387
|
+
return () => this.listeners.delete(listener);
|
|
393
388
|
}
|
|
394
389
|
}
|
|
395
390
|
function childrenAreActive(children) {
|
|
@@ -402,7 +397,7 @@ function childrenAreActive(children) {
|
|
|
402
397
|
while (current !== undefined) {
|
|
403
398
|
for (let i = 0, len = current.length; i < len; i++) {
|
|
404
399
|
const child = current[i];
|
|
405
|
-
if (!child.atom.lazy || child.listeners.
|
|
400
|
+
if (!child.atom.lazy || child.listeners.size > 0) {
|
|
406
401
|
return true;
|
|
407
402
|
} else if (child.children.length > 0) {
|
|
408
403
|
if (stack === undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","names":["Effect","Equal","Exit","constVoid","pipe","globalValue","Option","Queue","Stream","Result","constImmediate","immediate","TypeId","make","options","RegistryImpl","initialValues","scheduleTask","timeoutResolution","defaultIdleTTL","SerializableTypeId","atomKey","atom","key","constructor","cb","queueMicrotask","undefined","Math","round","value","ensureNode","setValue","nodes","Map","preloadedSerializable","timeoutBuckets","nodeTimeoutBucket","disposed","getNodes","get","set","write","writeContext","setSerializable","encoded","modify","f","node","result","update","refresh","invalidateAtom","subscribe","remove","_value","canBeRemoved","scheduleNodeRemoval","mount","atomHasTtl","keepAlive","idleTTL","createNode","removeNodeTimeout","has","delete","decoded","decode","Error","scheduleAtomRemoval","Node","invalidate","removeNode","setNodeTimeout","currentSweepTTL","ttl","ceil","timestamp","Date","now","bucket","entry","Set","setTimeout","sweepBucket","add","handle","size","clearTimeout","forEach","reset","clear","dispose","NodeFlags","NodeState","registry","WriteContextImpl","state","uninitialized","lifetime","parents","previousParents","children","listeners","skipInvalidation","length","waitingForValue","makeLifetime","read","i","removeChild","valueOption","initialized","none","some","valid","batchState","phase","BatchPhase","collect","notify","equals","invalidateChildren","addParent","parent","push","index","indexOf","pop","child","stale","disposeLifetime","lazy","childrenAreActive","commit","removed","listener","current","stack","stackIndex","len","disposedError","LifetimeProto","addFinalizer","finalizers","isFn","resultOnce","suspendOnWaiting","waiting","never","_tag","failCause","cause","succeed","async","resume","once","toExit","cancel","sync","setResult","someOnce","isSome","isNone","self","refreshSelf","setSelf","a","stream","acquireRelease","bounded","bufferSize","shutdown","tap","queue","_","unsafeOffer","withoutInitialValue","map","fromQueue","unwrapScoped","streamResult","filter","isNotInitial","flatMap","Object","setPrototypeOf","disabled","depth","batch","batchRebuildNode"],"sources":["../../../src/internal/registry.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"registry.js","names":["Effect","Equal","Exit","constVoid","pipe","globalValue","Option","Queue","Stream","Result","constImmediate","immediate","notifyListener","listener","TypeId","make","options","RegistryImpl","initialValues","scheduleTask","timeoutResolution","defaultIdleTTL","SerializableTypeId","atomKey","atom","key","constructor","cb","queueMicrotask","undefined","Math","round","value","ensureNode","setValue","nodes","Map","preloadedSerializable","timeoutBuckets","nodeTimeoutBucket","disposed","getNodes","get","set","write","writeContext","setSerializable","encoded","modify","f","node","result","update","refresh","invalidateAtom","subscribe","remove","_value","canBeRemoved","scheduleNodeRemoval","mount","atomHasTtl","keepAlive","idleTTL","createNode","removeNodeTimeout","has","delete","decoded","decode","Error","scheduleAtomRemoval","Node","invalidate","removeNode","setNodeTimeout","currentSweepTTL","ttl","ceil","timestamp","Date","now","bucket","entry","Set","setTimeout","sweepBucket","add","handle","size","clearTimeout","forEach","reset","clear","dispose","NodeFlags","NodeState","registry","WriteContextImpl","state","uninitialized","lifetime","parents","previousParents","children","listeners","skipInvalidation","length","waitingForValue","makeLifetime","read","i","removeChild","valueOption","initialized","none","some","valid","batchState","phase","BatchPhase","collect","notify","equals","invalidateChildren","addParent","parent","push","index","indexOf","pop","child","stale","disposeLifetime","lazy","childrenAreActive","commit","removed","current","stack","stackIndex","len","disposedError","LifetimeProto","addFinalizer","finalizers","isFn","resultOnce","suspendOnWaiting","waiting","never","_tag","failCause","cause","succeed","async","resume","once","toExit","cancel","sync","setResult","someOnce","isSome","isNone","self","refreshSelf","setSelf","a","stream","acquireRelease","bounded","bufferSize","shutdown","tap","queue","_","unsafeOffer","withoutInitialValue","map","fromQueue","unwrapScoped","streamResult","filter","isNotInitial","flatMap","Object","setPrototypeOf","disabled","depth","batch","batchRebuildNode"],"sources":["../../../src/internal/registry.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
package/src/internal/registry.ts
CHANGED
|
@@ -12,6 +12,10 @@ import * as Result from "../Result.js"
|
|
|
12
12
|
|
|
13
13
|
const constImmediate = { immediate: true }
|
|
14
14
|
|
|
15
|
+
const notifyListener = (listener: () => void): void => {
|
|
16
|
+
listener()
|
|
17
|
+
}
|
|
18
|
+
|
|
15
19
|
type TypeId = "~effect-atom/atom/Registry"
|
|
16
20
|
const TypeId: TypeId = "~effect-atom/atom/Registry" as const
|
|
17
21
|
|
|
@@ -287,11 +291,11 @@ class Node<A> {
|
|
|
287
291
|
parents: Array<Node<any>> = []
|
|
288
292
|
previousParents: Array<Node<any>> | undefined
|
|
289
293
|
children: Array<Node<any>> = []
|
|
290
|
-
listeners:
|
|
294
|
+
listeners: Set<() => void> = new Set()
|
|
291
295
|
skipInvalidation = false
|
|
292
296
|
|
|
293
297
|
get canBeRemoved(): boolean {
|
|
294
|
-
return !this.atom.keepAlive && this.listeners.
|
|
298
|
+
return !this.atom.keepAlive && this.listeners.size === 0 && this.children.length === 0 &&
|
|
295
299
|
this.state !== 0
|
|
296
300
|
}
|
|
297
301
|
|
|
@@ -352,7 +356,7 @@ class Node<A> {
|
|
|
352
356
|
this.invalidateChildren()
|
|
353
357
|
}
|
|
354
358
|
|
|
355
|
-
if (this.listeners.
|
|
359
|
+
if (this.listeners.size > 0) {
|
|
356
360
|
if (batchState.phase === BatchPhase.collect) {
|
|
357
361
|
batchState.notify.add(this)
|
|
358
362
|
} else {
|
|
@@ -397,7 +401,7 @@ class Node<A> {
|
|
|
397
401
|
|
|
398
402
|
if (batchState.phase === BatchPhase.collect) {
|
|
399
403
|
batchState.stale.push(this)
|
|
400
|
-
} else if (this.atom.lazy && this.listeners.
|
|
404
|
+
} else if (this.atom.lazy && this.listeners.size === 0 && !childrenAreActive(this.children)) {
|
|
401
405
|
this.invalidateChildren()
|
|
402
406
|
this.skipInvalidation = true
|
|
403
407
|
} else {
|
|
@@ -418,9 +422,7 @@ class Node<A> {
|
|
|
418
422
|
}
|
|
419
423
|
|
|
420
424
|
notify(): void {
|
|
421
|
-
|
|
422
|
-
this.listeners[i]()
|
|
423
|
-
}
|
|
425
|
+
this.listeners.forEach(notifyListener)
|
|
424
426
|
|
|
425
427
|
if (batchState.phase === BatchPhase.commit) {
|
|
426
428
|
batchState.notify.delete(this)
|
|
@@ -441,7 +443,7 @@ class Node<A> {
|
|
|
441
443
|
|
|
442
444
|
remove() {
|
|
443
445
|
this.state = NodeState.removed
|
|
444
|
-
this.listeners
|
|
446
|
+
this.listeners.clear()
|
|
445
447
|
|
|
446
448
|
if (this.lifetime === undefined) {
|
|
447
449
|
return
|
|
@@ -464,14 +466,8 @@ class Node<A> {
|
|
|
464
466
|
}
|
|
465
467
|
|
|
466
468
|
subscribe(listener: () => void): () => void {
|
|
467
|
-
this.listeners.
|
|
468
|
-
return () =>
|
|
469
|
-
const index = this.listeners.indexOf(listener)
|
|
470
|
-
if (index !== -1) {
|
|
471
|
-
this.listeners[index] = this.listeners[this.listeners.length - 1]
|
|
472
|
-
this.listeners.pop()
|
|
473
|
-
}
|
|
474
|
-
}
|
|
469
|
+
this.listeners.add(listener)
|
|
470
|
+
return () => this.listeners.delete(listener)
|
|
475
471
|
}
|
|
476
472
|
}
|
|
477
473
|
|
|
@@ -485,7 +481,7 @@ function childrenAreActive(children: Array<Node<any>>): boolean {
|
|
|
485
481
|
while (current !== undefined) {
|
|
486
482
|
for (let i = 0, len = current.length; i < len; i++) {
|
|
487
483
|
const child = current[i]
|
|
488
|
-
if (!child.atom.lazy || child.listeners.
|
|
484
|
+
if (!child.atom.lazy || child.listeners.size > 0) {
|
|
489
485
|
return true
|
|
490
486
|
} else if (child.children.length > 0) {
|
|
491
487
|
if (stack === undefined) {
|