Chan is not a "pool" because "chan" provides only one value, and flows around that value. Overwise "pool" provides a group of parallel or series async execution processes.
But both these meanings can be used with similar async operators.
const t = value(0)
.view(() => {})
.wrap.throttle(300)
.chan.debounce(300);
// .flow.debounce(300); ??
// const t = pool(async () => {}) // "pool" untracked by default for safety reason
// .wrap.throttle // hmmm multiples of parameters and throttle can be strange combination.
// Necessary to think about "throttle" and "debounce" for "pool".
Possible typecast syntax
chan(async () => {}).select.untrack(() => {});
signal(0).to.value() // vs "signal(0).to.value"
value(0).to.signal()
signal(0).to.ready()
signal(0).promise
value(0).promise
value(0).to.ready().promise // promise recreate on demand // vs value(0).to.ready.promise
value.flag()
value.flag.not()
value.ready()
signal.flag() // equivalent to "value.flag"
signal.ready()
// Think about rename "value.ready" to "value.once" or "value.trigger" ...
signal(0).to.trigger() // The primary candidate for changing to
signal(0).to.once() // hmm..
Chan - is therm for define async flow. Previous proposals for async are "flow.async", pipe.
Chan is not a "pool" because "chan" provides only one value, and flows around that value. Overwise "pool" provides a group of parallel or series async execution processes.
But both these meanings can be used with similar async operators.
Possible typecast syntax