webBaseOptions function

Map<String, Object?> webBaseOptions(
  1. BaseOptions options
)

Maps common model options to the MediaPipe Tasks web API.

Implementation

Map<String, Object?> webBaseOptions(BaseOptions options) {
  final Map<String, Object?> baseOptions = <String, Object?>{};
  switch (options.modelAsset) {
    case ModelAssetPath(path: final String path):
      baseOptions['modelAssetPath'] = path;
    case ModelAssetUri(uri: final Uri uri):
      baseOptions['modelAssetPath'] = uri.toString();
    case ModelAssetBytes(bytes: final Uint8List bytes):
      baseOptions['modelAssetBuffer'] = Uint8List.fromList(bytes);
  }

  baseOptions['delegate'] = switch (options.delegate) {
    MpDelegate.cpu => 'CPU',
    MpDelegate.gpu => 'GPU',
    MpDelegate.edgeTpuNnapi || MpDelegate.liteRt => throw MpException(
      MpStatus.invalidArgument,
      '${options.delegate.name} is not available in the MediaPipe web runtime.',
    ),
  };
  return baseOptions;
}