1
0
mirror of https://github.com/jaandrle/deka-dom-el synced 2025-07-01 20:32:13 +02:00

Add ddeSignal type to global scope + TODOs updated

This commit is contained in:
2023-09-07 18:21:51 +02:00
parent 6fae2fc4e6
commit 9b77d65279
5 changed files with 7 additions and 6 deletions

View File

@ -12,7 +12,7 @@ export function S(value, actions){
const out= create();
watch(()=> out(value()));
return out;
//TODO is auto remove if used for args, if external listener needs also S.clear
//TODO for docs: is auto remove if used for args, if external listener needs also S.clear
}
S.action= function(signal, name, ...a){
const s= signal[mark], { actions }= s;
@ -28,7 +28,7 @@ S.on= function on(signals, listener, options= {}){
if(Array.isArray(signals)) return signals.forEach(s=> on(s, listener, options));
addSignalListener(signals, listener);
if(as) as.addEventListener("abort", ()=> removeSignalListener(signals, listener));
//TODO cleanup when signal removed (also TODO)
//TODO cleanup when signal removed
};
S.symbols= {
signal: mark,

4
src/signals.d.ts vendored
View File

@ -43,3 +43,7 @@ interface S {
}
}
export const S: S;
declare global {
type ddeSignal<T, A>= Signal<T, A>;
type ddeActions<V>= Actions<V>
}