evaluate method

JsEvalResult evaluate(
  1. String code, {
  2. String? sourceUrl,
})
override

Implementation

JsEvalResult evaluate(String code, {String? sourceUrl}) {
  var request = SyncHttpClient.postUrl(new Uri.http(
    "localhost:${FlutterJs.httpPort}",
    "",
    {
      "id": _flutterJs.id.toString(),
      "password": FlutterJs.httpPassword,
    },
  ));
  request..write(code);
  var response = request.close();

  var result = response.body!;

  try {
    result = json.decode(result);
  } catch (e) {}

  return JsEvalResult(
    response.body != null && response.body!.isNotEmpty ? result : "",
    null,
    isPromise: response.body == 'isPromise',
    isError: response.statusCode != 200,
  );
}