tricycle/elm-actor-framework-template/1.0.1

Renamed to bellroy/elm-actor-framework-template. It is published under that name, and new versions come out there.

Versions published as tricycle/elm-actor-framework-template still install under that name. 2 versions of 2 come from the new location (see their notes).

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/tricycle/elm-actor-framework-template/zipball/1.0.1/

Framework.Template

A Template is a list of Nodes

You can directly use this module to create a Template or you can use one of the packages that build on top of this package to parse a template based on another, friendlier, format.

type Node appActors
= Text String
| Element ElementNodeName Attributes (Children appActors)
| Actor (ActorElement appActors)

A Node represents Text, any Element or an Actor.

Text "some test"


Element "strong" [] [ Text "Hello World" ]


Actor <| ActorElement Counter "comp-counter" "counter-1" [] []
type ActorElement appActors
= ActorElement
appActors
ElementNodeName
ActorElementId
Attributes
(Children appActors)

An ActorElement

type alias ElementNodeName =
String

The NodeName of an Element or ActorElement

type alias ActorElementId =
String

The Actor Element Id, this should be unique on your template.

type alias Attributes =
List Attribute

A List of Attribute

type alias Attribute =
( String, String )

A (key, value) representation of a Node attribute

( "class", "Foo" )


( "href", "https://www.example.com" )
type alias Children appActors =
List (Node appActors)

A List of Nodes

getActorElementDescendants : List (Node appActors) -> List (ActorElement appActors)

Returns the descending ActorElement for a given List of Nodes

List (Node appActors)
-> List
{ actor : appActors
, reference : String
, actorElement : ActorElement appActors
}

Convenience function that returns a list containing records supplying the information usually required to spawn the target Actor

toString : List (Node appActors) -> String

Turn a Template into a single String

This can be handy for search results or meta descriptions

[ Element "strong" [] [ Text "a" ]
, Text "b"]
--> "a b"