MattCheely/tryframe-coordinator/2.0.0

Rerouted (cache, verified). The original is gone. This copy comes from a Lamdera package cache made before it went. The Lamdera package server serves a copy recovered from a Lamdera package cache from 2021-02-13.

What we checked: Rebuilt from the unpacked sources in a Lamdera package cache (5 copies agree), which Elm only writes after the published SHA-1 checked out; elm.json is byte-identical to package.elm-lang.org's; the exposed modules match docs.json; the zip is our own, so its SHA-1 is not the published one.

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/MattCheely/tryframe-coordinator/zipball/2.0.0/

Message.PubSub

The other messages in this library cover common use cases for coordination between host and client applications, but there is often some coordination required specific to the application domain. To that end, the Message.PubSub module provides a set of types for publishing to topics as well as subscribing and unsubscribing from them.

Publishing

type alias Publication =
{ topic : String
, payload : Value
}

This is the type used by host and client applications to publish any data to a topic.

encodePublication : Publication -> Value

Encodes a Publication to JSON, tagging it with publishLabel

publicationDecoder : Decoder Publication

Decoder for publication messages, which are expected to be tagged with publishLabel

publishLabel : String

This is the label used to tag publish events in JSON. Other modules should not need to reference it, but it is exposed to force a package version bump if it changes.

Subscription Management

subscribeDecoder : Decoder String

Decoder for subscription requests, which are just a topic string tagged with subscribeLabel.

This is the label used to tag subscribe requests in JSON. Other modules should not need to reference it, but it is exposed to force a package version bump if it changes.

unsubscribeDecoder : Decoder String

Decoder for unsubscribe requests, which are just a topic string tagged with unsubscribeLabel.

This is the label used to tag unsubscribe requests in JSON. Other modules should not need to reference it, but it is exposed to force a package version bump if it changes.