parseInMainThread method

Future<void> parseInMainThread(
  1. String data, {
  2. String? nameProperty,
  3. GeoJsonQuery? query,
  4. bool verbose = false,
  5. bool disableStream = false,
})

Parse the geojson in the main thread not using any isolate: necessary for the web

Implementation

Future<void> parseInMainThread(String data,
    {String? nameProperty,
    GeoJsonQuery? query,
    bool verbose = false,
    bool disableStream = false}) async {
  final dataToProcess = _DataToProcess(
      data: data, nameProperty: nameProperty, verbose: verbose, query: query);
  final _feats = StreamController<GeoJsonFeature<dynamic>?>();
  final _sub = _feats.stream.listen((f) {
    print("FEAT SUB $f / ${f!.type}");
    _pipeFeature(f, disableStream: disableStream);
  });
  print("Processing");
  _processFeatures(dataToProcess: dataToProcess, sink: _feats.sink);
  print("Closing");
  await _sub.cancel();
  unawaited(_feats.close());
}