getJavascriptRuntime function

JavascriptRuntime getJavascriptRuntime({
  1. bool forceJavascriptCoreOnAndroid = false,
  2. bool xhr = true,
  3. Map<String, dynamic>? extraArgs = const {},
})

Implementation

JavascriptRuntime getJavascriptRuntime({
  bool forceJavascriptCoreOnAndroid = false,
  bool xhr = true,
  Map<String, dynamic>? extraArgs = const {},
}) {
  JavascriptRuntime runtime;

  // Check if running on web - uses browser's JavaScript engine
  if (kIsWeb) {
    // WebJavascriptRuntime is only available on web (via conditional import)
    runtime = WebJavascriptRuntime();
  } else {
    // On native platforms, use the native runtime getter
    // This function uses Platform.isAndroid, etc., which are only available on native
    runtime = native_runtime.getNativeRuntime(
      forceJavascriptCoreOnAndroid: forceJavascriptCoreOnAndroid,
      extraArgs: extraArgs ?? {},
    );
  }

  if (xhr) runtime.enableFetch();
  runtime.enableHandlePromises();
  return runtime;
}