Skip to content

Latest commit

 

History

History

screen

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

@cycle-robot-drivers/screen

Cycle.js drivers and action components for a tablet robot face.

Try the demo at StackBlitz!

Note that this package was tested with Chrome browser (>= 65.0.3325.181) only.

API

FacialExpressionAction(sources)

FacialExpression action component.

Params:

  • sources
    • goal: a stream of TabletFaceCommands.
    • cancel: a stream of GoalID.
    • TabletFace: the TabletFace driver output.

Return:

  • sinks
    • state: a reducer stream.
    • status: a stream of action status.
    • result: a stream of action results.
    • TabletFace: a stream for the TabletFace driver input.

Speechbubble action component.

Params:

  • sources
    • goal: a stream of {type: 'MESSAGE', value: 'Hello world'} or 'Hello world' (as "message"), or {type: 'CHOICE', value: ['Hello', 'World']} or ['Hello', 'World'] (as "multiple choice").
    • cancel: a stream of GoalID
    • DOM: Cycle.js DOMSource.

Return:

  • sinks
    • state: a reducer stream.
    • status: a stream of action status.
    • result: a stream of action results. result.result is always null.
    • DOM: a stream of virtual DOM objects, i.e, Snabbdom "VNode" objects.

makeTabletFaceDriver(options)

TabletFace driver factory.

Params:

  • options possible key includes
    • styles {object} A group of optional style parameters

Return:

  • Driver the TabletFace Cycle.js driver function. It takes a stream of Command and returns returns EventSource:

    • EventSource.events(eventName) takes 'load', 'animationfinish', or dom and returns corresponding event streams respectively.