nullable
Ejecuta un bloque en un ámbito raise sin información: cualquier
cortocircuito hace que todo el bloque se evalúe a null. La
alternativa nullable-first a un tipo Option.
Lección
Cuando la única información de fallo que necesitas es la
ausencia, un Either es excesivo — Dart ya tiene un
canal dedicado a la ausencia: T?. nullable es el
gemelo sin información del
constructor either
(el port de nullable { } de Arrow): el
r.bind(value) del ámbito desenvuelve un valor nullable y, si
es null, todo el bloque devuelve null.
Frente a encadenar ?. y ??, la ganancia es que
cualquier paso puede abandonar — una búsqueda, un parseo, una
condición vía r.ensure(cond) — sin anidamiento, y los valores
intermedios siguen promovidos y no nulos. Por eso FxDart no incluye ningún
tipo Option/Maybe: T? más este
constructor lo cubren, sin ninguna envoltura.
Demo 1 · bind sobre tryParse
Demo 2 · búsquedas profundas sin escaleras de ?.
Pruébalo tú
Ejercicio: lastSeen['lee'] existe pero contiene
null, y 'park' falta por completo —
r.bind trata ambos casos como ausencia. Arregla
describe para que los dos impriman null.
either — cuando el fallo necesita un motivo ·
Either — getOrNull() hace de puente de vuelta a los nullables ·
nonNulls — elimina los nulls de un pipeline ·
errores tipados — guía completa