Renamed to elm-messenger/messenger-core. That is where the repository lives now. It has not been published as a package under the new name.
Versions published as linsyking/messenger-core still install under that name. 34 versions of 52 come from the new location (see their notes). 7 versions could not be recovered and cannot be installed.
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/elm-messenger/messenger-core.
What we checked: The repo moved to github.com/elm-messenger/messenger-core. Rebuilt with git archive from commit 85773eb26703 of https://github.com/elm-messenger/messenger-core (zip prefix linsyking-messenger-core-268728c/, America/Los_Angeles times): the zip is byte-identical to the one package.elm-lang.org recorded, SHA-1 6900a685001f5fedc7fe4c82b16013a38f12baa5.
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/linsyking/messenger-core/zipball/8.1.0/
These are components that might be provided by an elm package.
There are some limitations for portable components:
A concrete portable component can generate two kinds of abstract component: Specific Component or General Portable Component.
Portable Component Message Codec
Portable Component Target Codec
You can generate a general type of component from a concrete portable component, which means you can manage this component with a list of user components.
genPortableComponentSpecific
Generate abstract component in a specific component type from concrete component.
Translate a ConcretePortableComponent to a specific ConcreteUserComponent.
Then you can treat it as a normal component in the declared type
This will add an empty basedata provided when init and upcast target and messages to the generalized type.
You should also pass CommonData and SceneMsg with any value, which means you just need to match the data type.
You can generate a component in specific type from a concrete portable component, which means you can manage this component in a list for all general portable components generated in this type.
You should update this type of components by using specialized function provided.
AbstractPortableComponent
Abstract General Portable Component with common data, base data, and scene msg set to unit type.
This means you cannot send scene msg from a portable component. And you cannot put a general portable component in a list of other user components.
genPortableComponentGeneral
Generate abstract component in general portable type from concrete component.
you don't need to give a Env without commondata
Translate a ConcretePortableComponent to a special kind of ConcreteUserComponent.
**Then you should treat it as a general portable component, in the same type of other general portable components **
This will add an empty basedata (unit) when init and upcast target and messages to the generalized type.
The commondata and scenemsg will also be set to unit type.
updatePortableComponents
Update a list of abstract general portable components.
Use this function instead of updateComponents to update general portable components!
you don't need to give a Env without commondata
updatePortableComponentsWithTarget
Update a list of abstract portable components with target msgs.
Use this function instead of updateComponentsWithTarget to update general portable components!
you don't need to give a Env without commondata
Portable component init type sugar
Portable component update type sugar
Portable component updaterec type sugar
Portable component view type sugar
Portable component storage as a specific component type sugar
Portable component storage as general portable component type sugar
ConcretePortableComponent
Used when createing a portable component.
Use
translatePortableComponentto create aConcreteUserComponentfrom aConcretePortableComponent.The
scenemsgtype is replaced by()because you cannot send changescene message.