Logo FS-Skia-UI

AdapterCmd Module

Pure, total bridge between the adapter's effect-list command model (`AdapterCommand<'msg>`) and Elmish `Cmd<'msg>` (068, additive).

Functions and values

Function or value Description

none

Full Usage: none

Returns: Cmd<'msg>
Type parameters: 'msg

The Elmish no-op command (= `Cmd.none`). Law: `toCmd route [] = none`.

Returns: Cmd<'msg>

ofMessage msg

Full Usage: ofMessage msg

Parameters:
    msg : 'msg

Returns: AdapterCommand<'msg>
Type parameters: 'msg

Lift a single product message into an `AdapterCommand` (= `[ DispatchProductMessage msg ]`). Law: `productMessages (ofMessage m) = [ m ]`.

msg : 'msg
Returns: AdapterCommand<'msg>

productMessages command

Full Usage: productMessages command

Parameters:
Returns: 'msg list
Type parameters: 'msg

The ordered `DispatchProductMessage` payloads carried by the command (the round-trip oracle); no other effect case contributes.

command : AdapterCommand<'msg>
Returns: 'msg list

toCmd route command

Full Usage: toCmd route command

Parameters:
Returns: Cmd<'msg>
Type parameters: 'msg

Total conversion to an Elmish `Cmd<'msg>`: `route` maps EVERY `AdapterEffect` case (product and non-product) to a `'msg`, preserving list order; `[]` -> `Cmd.none`. Pure to construct; never throws. FR-003/FR-008.

route : AdapterEffect<'msg> -> 'msg
command : AdapterCommand<'msg>
Returns: Cmd<'msg>

Type something to start searching.