extension library

Protobuf extension handles + a registry, for codegen.

Pure, Ball-portable value types (no package: imports — dart:core only). An extension is wire-indistinguishable from a regular field of the same number; the descriptor bridge folds each one into its extendee's field list keyed by [fully.qualified.name] (bracketed, to avoid colliding with a sibling field of the same simple name). These types give that the typed, lookup-able surface generated code needs: an Extension handle per extend field, and an ExtensionRegistry that finds extensions by (extendee, number) and by Any type-url.

Classes

Extension
A single protobuf extension field.
ExtensionRegistry
A registry of Extensions, looked up by (extendee, number) and by Any-style type-url.

Functions

mergeRegistries(Iterable<ExtensionRegistry> registries) ExtensionRegistry
Merges several ExtensionRegistrys into one (later registries win on conflict), so a consumer can combine the per-file registries generated for every .proto in scope.