WasmFileUris.fromList constructor
WasmFileUris.fromList(
- List<
WasmFileUris> uriOptions
A list of WasmFileUris that will be used as fallbacks if the previous one fails to load.
Implementation
factory WasmFileUris.fromList(List<WasmFileUris> uriOptions) {
if (uriOptions.isEmpty) {
throw Exception('uriOptions must not be empty');
}
final List<WasmFileUris> flat = [];
void add(WasmFileUris value) {
if (value.fallback != null) {
flat.add(
WasmFileUris(
uri: value.uri,
simdUri: value.simdUri,
threadsSimdUri: value.threadsSimdUri,
),
);
add(value.fallback!);
} else {
flat.add(value);
}
}
uriOptions.forEach(add);
WasmFileUris option = uriOptions.last;
for (int i = flat.length - 2; i >= 0; i--) {
final current = flat[i];
option = WasmFileUris(
uri: current.uri,
simdUri: current.simdUri,
threadsSimdUri: current.threadsSimdUri,
fallback: option,
);
}
return option;
}