andreasewering/elm-protoc-types/1.1.0

NOTE: the latest version is 1.2.1

Renamed to anmolitor/elm-protoc-types. It is published under that name, and new versions come out there.

Versions published as andreasewering/elm-protoc-types still install under that name. 4 versions of 5 come from the new location (see their notes).

Rerouted (renamed, verified). The GitHub user or repository was renamed. The tag is still there, at the new name. The Lamdera package server serves a copy recovered from https://github.com/anmolitor/elm-protoc-types.

What we checked: The repo moved to github.com/anmolitor/elm-protoc-types. Rebuilt with git archive from commit b536d5cdd243 of https://github.com/anmolitor/elm-protoc-types (zip prefix andreasewering-elm-protoc-types-d37584d/, America/Los_Angeles times): the zip is byte-identical to the one package.elm-lang.org recorded, SHA-1 ee7257d89c55f9a6dbf1dc517f52e33753c41307.

The Lamdera compiler uses this copy and prints a one-line notice saying so. elm itself fails to download this version.

Details · package.elm-lang.org's zip: https://github.com/andreasewering/elm-protoc-types/zipball/1.1.0/

elm-protoc-types

Protobufs Well-Known Types as an Elm Package. Generated via protoc-gen-elm.

What is this?

Protocol buffers are a serialization format. The idea is that you write .proto files describing your data structures and then generate source code from them in your favourite languages using the protoc compiler and the respective language plugins.

When you install protoc it automatically includes a directory of proto files containing the so called well-known types.

These are

  • Compiler Internals (DescriptorProto, Field, Enum, ...)
  • Wrappers for scalar types (BoolValue, BytesValue, Int32Value, ...)
  • Useful utilities (Timestamp, Duration, Empty, FieldMask)

This package was created/is updated by running protoc with the protoc-gen-elm plugin on the directory included in the protoc installation.

You can do this yourself, but this might be useful if you want to skip this part of your build process.

Future ideas

  • Some utility types are not quite in the "Elm format" - timestamp for instance consists of a secs and nanos field whereas Elms time package prefers using the Posix Type, which is a wrapper around a number of milliseconds. This package could provide common conversions.

Feel free to open an issue/create a pull request if you have a suggestion or need one of the above ideas implemented.

There are no plans to add .proto generated types other than the well-known types.