fromJson static method
Decodes a gizmo block, skipping malformed or unknown primitives; null
when json is not a gizmo block at all.
Implementation
static GizmoSpec? fromJson(Object? json) {
if (json is! Map) return null;
final primitives = json['primitives'];
if (primitives is! List) return null;
return GizmoSpec([
for (final entry in primitives)
if (GizmoPrimitive.fromJson(entry) case final primitive?) primitive,
]);
}