fromJson static method
Parses a driver-capabilities JSON map from the native layer.
Implementation
static DriverCapabilities fromJson(Map<String, Object?> json) {
final driverName = json['driver_name'] as String? ?? 'Unknown';
final engineId = json['engine'] as String? ?? DatabaseEngineIds.unknown;
final databaseType = engineId == DatabaseEngineIds.unknown
? DatabaseType.fromDriverName(driverName)
: DatabaseType.fromEngineId(engineId);
return DriverCapabilities(
supportsPreparedStatements:
json['supports_prepared_statements'] as bool? ?? true,
supportsBatchOperations:
json['supports_batch_operations'] as bool? ?? true,
supportsStreaming: json['supports_streaming'] as bool? ?? true,
maxRowArraySize: (json['max_row_array_size'] as num?)?.toInt() ?? 1000,
driverName: driverName,
driverVersion: json['driver_version'] as String? ?? 'Unknown',
databaseType: databaseType,
engineId: engineId,
supportsNativeBcp: json['supports_native_bcp'] as bool? ?? false,
);
}