The Dart language implementation of gRPC.
Go to file
Lasse R.H. Nielsen 38ca626e0a
Use `Map.of` instead of `Map.from` in grpc client. (#724)
* Use `Map.of` instead of `Map.from` in grpc client.

`Map.of` creates a new map with the same keys, values and *type*
as the original map, when used without type arguments or context type,
where `Map.from` creates a `Map<dynamic, dynamic>`.
(This code failed on an attempt to make `Map.unmodifiable` be more
strictly typed, like `Map.of` instead of `Map.from`, showing that
an intermediate map had type `Map<dynamic, dynamic>` unnecessarily).

Same for using `List.of` instead of `List.from`.

The new code should be (microscopically) more efficient and type safe,
and is forwards-compatible with a stronger type on `Map.unmodifiable`.

(The code can be optimized more. For example
`List.of(list1)..addAll(list2)` can be just `list1 + list2` or
`[...list1, ...list2]`, both of which may know the total number
of elements when doing the initial list allocation.
This is a minimal change to allow the type changes for `.unmodifiable`
to get past this very initial blocker in internal tests.)

* Add changelog and minor version increment.

And my save removes trailing spaces.
2024-09-02 16:58:43 +02:00
.github Bump dart-lang/setup-dart from 1.6.4 to 1.6.5 (#720) 2024-07-01 11:56:47 +00:00
example Remove dependency on `package:archive` (#707) 2024-05-06 15:25:06 +02:00
interop Remove dependency on `package:archive` (#707) 2024-05-06 15:25:06 +02:00
lib Use `Map.of` instead of `Map.from` in grpc client. (#724) 2024-09-02 16:58:43 +02:00
test fix: fix headers not completing when call is terminated (#728) 2024-08-28 08:18:15 +02:00
tool Switch to Dart 3 (#633) 2023-06-07 10:24:33 +02:00
.gitignore Add decoded grpc-status-details-bin details to GrpcError (#349) 2020-10-27 17:07:58 +01:00
AUTHORS allows async interceptors (#120) 2018-09-18 08:17:39 +02:00
CHANGELOG.md Use `Map.of` instead of `Map.from` in grpc client. (#724) 2024-09-02 16:58:43 +02:00
CODE-OF-CONDUCT.md Update CODE-OF-CONDUCT.md (#49) 2018-01-19 10:50:18 +01:00
CONTRIBUTING.md Fix for duplicate headers (#397) 2020-11-12 09:51:57 +01:00
LICENSE Change license to Apache to be consistent with other gRPC repos (#47) 2018-01-12 15:14:19 +01:00
MAINTAINERS.md Update MAINTAINERS.md (#234) 2019-08-27 14:37:35 +02:00
README.md Fix status badge (#726) 2024-07-24 14:24:57 -07:00
SECURITY.md Create SECURITY.md (#433) 2021-01-26 14:56:10 +01:00
analysis_options.yaml code fixes 2024-05-30 00:27:50 +00:00
build.yaml grpc-web support (#191) 2019-06-17 13:31:07 +02:00
pubspec.yaml Use `Map.of` instead of `Map.from` in grpc client. (#724) 2024-09-02 16:58:43 +02:00

README.md

The Dart implementation of gRPC: A high performance, open source, general RPC framework that puts mobile and HTTP/2 first.

Dart pub package

Learn more

For complete documentation, see Dart gRPC.

Supported platforms

Note: grpc-web is supported by package:grpc/grpc_web.dart. UDS-unix domain socket is supported with sdk version >= 2.8.0.

Contributing

If you experience problems or have feature requests, open an issue.

Note that we have limited bandwidth to accept PRs, and that all PRs require signing the EasyCLA.