MssqlProjection<R> constructor
MssqlProjection<R> ({
- required String name,
- required List<
MssqlProjectionColumn> columns, - required R map(
- MssqlRow row
Implementation
MssqlProjection({
required this.name,
required List<MssqlProjectionColumn> columns,
required this.map,
}) : columns = List<MssqlProjectionColumn>.unmodifiable(columns) {
final seen = <String>{};
for (final column in columns) {
final folded = column.alias.toLowerCase();
if (!seen.add(folded)) {
throw ArgumentError.value(
column.alias,
'columns',
'Projection "$name" has two columns named "${column.alias}". '
'Give one an explicit alias.',
);
}
}
if (this.columns.isEmpty) {
throw ArgumentError.value(
columns,
'columns',
'Projection "$name" has no columns.',
);
}
}