mirror of
https://github.com/jaandrle/deka-dom-el
synced 2025-07-01 12:22:15 +02:00
💥 rename signals to observables
This commit is contained in:
@ -0,0 +1,16 @@
|
||||
import { O } from "deka-dom-el/observables";
|
||||
const observable= O(0);
|
||||
// computation pattern
|
||||
const double= O(()=> 2*observable());
|
||||
|
||||
const ac= new AbortController();
|
||||
O.on(observable, v=> console.log("observable", v), { signal: ac.signal });
|
||||
O.on(double, v=> console.log("double", v), { signal: ac.signal });
|
||||
|
||||
observable(observable()+1);
|
||||
const interval= 5000;
|
||||
const id= setInterval(()=> observable(observable()+1), interval);
|
||||
ac.signal.addEventListener("abort",
|
||||
()=> setTimeout(()=> clearInterval(id), 2*interval));
|
||||
|
||||
setTimeout(()=> ac.abort(), 3*interval)
|
10
docs_src/components/examples/observables/intro.js
Normal file
10
docs_src/components/examples/observables/intro.js
Normal file
@ -0,0 +1,10 @@
|
||||
// when NPM
|
||||
import { O } from "deka-dom-el/observables";
|
||||
// https://cdn.jsdelivr.net/gh/jaandrle/deka-dom-el/dist/esm-with-observables.js
|
||||
|
||||
/**
|
||||
* @type {ddeObservable}
|
||||
* */
|
||||
/**
|
||||
* @type {ddeActions}
|
||||
* */
|
8
docs_src/components/examples/observables/observables.js
Normal file
8
docs_src/components/examples/observables/observables.js
Normal file
@ -0,0 +1,8 @@
|
||||
import { O } from "deka-dom-el/observables";
|
||||
// α — `observable` represents a reactive value
|
||||
const observable= O(0);
|
||||
// β — just reacts on observable changes
|
||||
O.on(observable, console.log);
|
||||
// γ — just updates the value
|
||||
observable(observable()+1);
|
||||
setInterval(()=> observable(observable()+1), 5000);
|
Reference in New Issue
Block a user