Releases: omar-azmi/tsignal_ts
v0.4.0 - add signal collections and simplify dynamic signals
this release simplifies the management of dynamic signals by making every Accessor<T>
function identifiable via its custom id
property.
when observer signals are aware of their dependency's id
, it makes it easy for them to remove their dependency on them by simply invoking ctx.delEdge(getDepSignalValue.id, thisSignal.id)
.
another advantage that it gives is the ability add dependencies silently via ctx.addEdge(getDepSignalValue.id, thisSignal.id)
. previously, you would have to call the getter function with your observer signal's id as the argument so that it would register it as an observer.
in addition, this release introduces two new dynamic signal classes under the new collection_signal
submodule:
UnisetSignal
:
holds a set of accessors (Set<Accessor<T>>
), and when its value is requested, it returns the values of the accessors it is holding (as aSet<T>
).ListSignal
: holds an array of reference counted accessors (RcList<Accessor<T>>
), and when its value is requested, it returns an array of the values of the accessors it is holding (as aList<T>
, which is a subclass ofArray<T>
).
each of the signals above fire an update cycle when the collection is mutated (addition, removal, or swapping of elements).
they also carry on the propagation of an update cycle if one or more of their underlying dependency elements fires an update.
and as always, recall uncle ben's wise words:
with great american allies comes a greater national debt
don't forget to sell your soul to the bankers, for they be lending out moderately-noice foreclosed homes, and brand new hyundai accents.
What's Changed
- feature: identifiable signal methods by @omar-azmi in #8
- feature: dynamic signals 1 by @omar-azmi in #9
Full Changelog: v0.3.2...v0.4.0
v0.3.2 - add DOM reactivity for html
added a custom jsx-runtime
to create reactive HTMLElement
s and Attr
ibutes on the fly.
also added a few JSX examples (in the /examples/*/
folder) for creating reactive web pages.
What's Changed
- feature: DOM and HTML reactivity by @omar-azmi in #6
- revamp library to support JSR publishing by @omar-azmi in #7
Full Changelog: v0.2.2...v0.3.2
v0.2.2 - changed a `1` to a `0` to make the library function again
LazySignal
did not work lazily because of a silly typo, where I was supposed to set this.dirty = 0
after updating/recomputing the signal's value, but instead had it set to this.dirty = 1
.
Imagine my disappointment.
Zettai Kanashii Hanashii...
mou inochi wa kankei nai.
Full Changelog: v0.2.1...v0.2.2
v0.2.1 - the update that was supposed to be v0.1.1
but as we all know:
one is the loneliest number that you'll ever do
two can be as bad as one, it's the loneliest number since the number one
** sad violin **
What's Changed
- merge: topologically ordered update cycle by @omar-azmi in #5
- fix: update cycle is not topologically ordered #4
Full Changelog: v0.1.2-c...v0.2.1
v0.1.2-c - added some stuff
I don't recall the stuff that had changed. lel
Full Changelog: v0.1.1...v0.1.2-c
v0.1.1 - initial release
what's changed
- everything
new contributors
- me - a name I call myself
- fa - a long long way to run
- so - a needle pulling thread
- la - a note to follow so
- ti - a drink with jam and bread
- that will bring us back to commiting sudoku
Full Changelog: https://github.com/omar-azmi/tsignal_ts/commits/v0.1.1