CollationOptions.fromMap constructor
A constructor that accepts a Map with the following schema: { locale:
Implementation
factory CollationOptions.fromMap(Map<String, Object> collationMap) {
if (collationMap[keyLocale] is! String) {
throw MongoDartError('$keyLocale must be of type String');
}
if (collationMap[keyCaseLevel] != null &&
collationMap[keyCaseLevel] is! bool) {
throw MongoDartError('$keyCaseLevel must be of type bool');
}
if (collationMap[keyCaseFirst] != null &&
collationMap[keyCaseFirst] is! String) {
throw MongoDartError('$keyCaseFirst must be of type String');
}
if (collationMap[keyStrength] != null &&
collationMap[keyStrength] is! int) {
throw MongoDartError('$keyStrength must be of type int');
}
if (collationMap[keyNumericOrdering] != null &&
collationMap[keyNumericOrdering] is! bool) {
throw MongoDartError('$keyNumericOrdering must be of type bool');
}
if (collationMap[keyAlternate] != null &&
collationMap[keyAlternate] is! String) {
throw MongoDartError('$keyAlternate must be of type String');
}
if (collationMap[keyMaxVariable] != null &&
collationMap[keyMaxVariable] is! String) {
throw MongoDartError('$keyMaxVariable must be of type String');
}
if (collationMap[keyBackwards] != null &&
collationMap[keyBackwards] is! bool) {
throw MongoDartError('$keyBackwards must be of type bool');
}
if (collationMap[keyNormalization] != null &&
collationMap[keyNormalization] is! bool) {
throw MongoDartError('$keyNormalization must be of type bool');
}
return CollationOptions(collationMap[keyLocale] as String,
caseLevel: collationMap[keyCaseLevel] as bool? ?? false,
caseFirst: collationMap[keyCaseFirst] as String?,
strength: collationMap[keyStrength] as int?,
numericOrdering: collationMap[keyNumericOrdering] as bool? ?? false,
alternate: collationMap[keyAlternate] as String?,
maxVariable: collationMap[keyMaxVariable] as String?,
backwards: collationMap[keyBackwards] as bool? ?? false,
normalization: collationMap[keyNormalization] as bool? ?? false);
}