int asInt(dynamic v, [int def = 0]) { if (v == null) return def; if (v is int) return v; if (v is num) return v.toInt(); return int.tryParse(v.toString()) ?? def; }