Sync JSON web decoders (#1028)

This syncs the web JSON decoder used internally.

The new decoder uses `js_interop` instead of the Dart standard library to
improve performance when compiled to JS.

## Benchmarks

master, JS:

    protobuf_from_json_string(RunTimeRaw): 1423.134328358209 us.

PR, JS:

    protobuf_from_json_string(RunTimeRaw): 971 us. 

Wasm and VM benchmarks don't change as they keep using the old implementation.

The new implementation is slower with Wasm as it does more JS interop, so we
keep using the old one.
6 files changed
tree: 58465a160171accbe695c54e8cd62c5aef34d273
  1. .github/
  2. benchmarks/
  3. protobuf/
  4. protoc_plugin/
  5. tool/
  6. .gitignore
  7. analysis_options.yaml
  8. AUTHORS
  9. LICENSE
  10. pubspec.yaml
  11. README.md
README.md

Protobuf support for Dart

Protocol Buffers (protobuf) are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data.

This repository is home to packages related to protobuf support for Dart.

PackageDescriptionPublished Version
protobufRuntime library for protocol buffers support.pub package
protoc_pluginA protobuf protoc compiler plugin used to generate Dart code.pub package
benchmarksBenchmarks for various protobuf functions.

Publishing automation

For information about our publishing automation and release process, see https://github.com/dart-lang/ecosystem/wiki/Publishing-automation.