El runtime Undercromo.gvar
Todo artefacto tiene disponible un objeto global, inyectado por la plataforma:
const { gvar } = window.Undercromo;gvar es tu única puerta a las variables globales: leerlas,
observarlas en vivo y (si tienes permiso) escribirlas.
Cómo funciona por dentro
Sección titulada «Cómo funciona por dentro»El runtime mantiene una copia local en memoria del estado visible y la mantiene al día con actualizaciones en vivo. Por eso:
peek(...)y el valor que recibes enobserve(...)son instantáneos tras la primera carga (salen de esa copia local).read(...)es asíncrono: si aún no hay datos, espera al primer snapshot.
No tienes que gestionar conexiones ni reconexiones: el runtime lo hace por ti.
Esperar a que esté listo
Sección titulada «Esperar a que esté listo»ready() resuelve cuando hay conexión y un primer snapshot de datos. Útil si quieres
pintar la UI ya con valores:
await Undercromo.gvar.ready();// a partir de aquí, peek() devuelve datos realesEstado del runtime
Sección titulada «Estado del runtime»status() te da una foto del estado actual:
const s = Undercromo.gvar.status();// { connected, hydrated, syncing, gatewayOnline, lastSeq }connected— hay conexión con la plataforma.hydrated— ya llegó el primer snapshot.gatewayOnline— el gateway del proyecto (y por tanto los things) está en línea.
La API de un vistazo
Sección titulada «La API de un vistazo»| Método | Qué hace |
|---|---|
ready() | Promesa que resuelve cuando hay datos. |
read(clave?) | Lee un valor (o todo el estado) — asíncrono. |
peek(clave?) | Lee desde la copia local — síncrono. |
observe(claves, cb, opts) | Reacciona a cambios de escalares. |
observeSeries(clave, cb, opts) | Reacciona a cambios de una serie. |
write(clave, valor) | Escribe una gVar (requiere permiso). |
projectSeries(clave, opts) | Prepara una serie para graficar. |
refresh() / sync() | Fuerza una recarga desde la plataforma. |
status() | Estado actual del runtime. |