Reactive XComponent is a javaScript client API that allows you to interact with microservices generated with XComponent software.
install the latest version of the API:
npm :
npm i reactivexcomponent.js --save
yarn :
yarn add reactivexcomponent.js
Import in JS :
importxcomponentfrom'reactivexcomponent.js';Import in TS :
import{XComponent}from'reactivexcomponent.js';constxcomponent=newXComponent();Set/Get LogLevel of the API :
import{LogLevel}from'reactivexcomponent.js';xcomponent.setLogLevel(LogLevel.DEBUG);constlogLevel=xcomponent.getLogLevel();Connect to XComponent WebSocket Bridge :
constserverUrl='ws://localhost:443';xcomponent.connect(serverUrl).then(connection=>{// Here goes your code that uses the connection});Get the list of available APIs on the WebSocket Bridge :
connection.getXcApiList().then(apiList=>{apiList.forEach(api=>console.log('Available Api : '+api));});Create a Session on a specific API :
constxcApiName="HelloWorldApi.xcApi"connection.createSession(xcApiName).then(session=>{// Here goes your code that uses the session});Variables used in the following examples :
constcomponentName="HelloWorld";conststateMachineName="HelloWorldManager";conststateMachineResponse="HelloWorldResponse";constjsonMessage={"Name": "Test"};constmessageType="XComponent.HelloWorld.UserObject.SayHello";Get the Snapshot using a Session :
session.getSnapshot(componentName,stateMachineName).then(snapshot=>{snapshot.forEach(snapshotElement=>console.log('Element : '+snapshotElement));});Get StateMachine updates through an Observable using a Session :
constupdates$=session.getStateMachineUpdates(componentName,stateMachineResponse);Send a message to all instances of a state machine using a Session :
// You can use the method canSend to check if the session is alowed the send this event to this state machine.if(session.canSend(componentName,stateMachineName,messageType)){session.send(componentName,stateMachineName,messageType,jsonMessage);}Send a message to a specific state machine instance using a StateMachineInstance or StateMachineRef :
stateMachineInstance.send(messageType,jsonMessage);Download the source code and execute the following commands:
yarn install
yarn build xcomponentapi.js is built in the lib folder.
Execute the following command:
yarn test - Fork it!
- Create your feature branch:
git checkout -b my-new-feature - Commit your changes:
git commit -am 'Add some feature' - Push to the branch:
git push origin my-new-feature - Submit a pull request
Apache License V2
