WebViewDataClearingResult constructor
WebViewDataClearingResult({
- Set<
WebViewDataType> clearedDataTypes = const <WebViewDataType>{}, - Set<
WebViewDataType> unsupportedDataTypes = const <WebViewDataType>{}, - Map<
WebViewDataType, String> failures = const <WebViewDataType, String>{},
Creates a website data clearing result.
Implementation
WebViewDataClearingResult({
Set<WebViewDataType> clearedDataTypes = const <WebViewDataType>{},
Set<WebViewDataType> unsupportedDataTypes = const <WebViewDataType>{},
Map<WebViewDataType, String> failures = const <WebViewDataType, String>{},
}) : clearedDataTypes = UnmodifiableSetView<WebViewDataType>(
Set<WebViewDataType>.of(clearedDataTypes),
),
unsupportedDataTypes = UnmodifiableSetView<WebViewDataType>(
Set<WebViewDataType>.of(unsupportedDataTypes),
),
failures = UnmodifiableMapView<WebViewDataType, String>(
Map<WebViewDataType, String>.of(failures),
) {
final Set<WebViewDataType> classified = <WebViewDataType>{
...this.clearedDataTypes,
...this.unsupportedDataTypes,
...this.failures.keys,
};
final int classificationCount =
this.clearedDataTypes.length +
this.unsupportedDataTypes.length +
this.failures.length;
if (classified.length != classificationCount) {
throw ArgumentError(
'A website data type cannot have more than one clearing outcome.',
);
}
if (!classified.containsAll(WebViewDataType.values)) {
throw ArgumentError(
'Every website data type must have exactly one clearing outcome.',
);
}
}