createWorkerScript function

WorkerSocket createWorkerScript(
  1. dynamic script, {
  2. List<String>? args,
  3. Map? metadata,
})

Implementation

WorkerSocket createWorkerScript(
  dynamic script, {
  List<String>? args,
  Map? metadata,
}) {
  var receiver = ReceivePort();
  var socket = WorkerSocket.master(receiver);
  Uri uri;

  if (script is Uri) {
    uri = script;
  } else if (script is String) {
    uri = Uri.parse(script);
  } else {
    throw ArgumentError.value(
      script,
      'script',
      'should be either a Uri or a String.',
    );
  }

  Isolate.spawnUri(uri, [], {
    'port': receiver.sendPort,
    'metadata': metadata,
  }).then((x) {
    socket._isolate = x;
  });
  return socket;
}