FWIW I'm not sure if it is any more efficient, but my impl just does this:

   final map = json.parse(_context.JSON.stringify(items));
   completer.complete(map);