A JavaScript library which implements the FSC-API and communicates with the FSC server through a web socket connection.
yarn add @pace/fsc-sdkyarn buildyarn type-checkRun in --watch mode:
yarn type-check:watch// index.jsimportFSCfrom'@pace/fsc-sdk';constsession=newFSC({onPrices: function(session){session.price(1,'0100',"LTR","EUR",1.339,'Super Plus');session.price(1,'0200',"LTR","EUR",1.229,'Super 95');session.price(1,'0300',"LTR","EUR",1.499,'Super 95 e5');},onProducts: function(session){session.product(1,'0100','ron98e5',19.0);session.product(1,'0200','ron95e10',19.0);session.product(1,'0300','ron95e5',19.0);},onPumps: function(session){session.pump(1,'in-use');session.pump(2,'out-of-order');session.pump(3,'free');session.pump(4,'ready-to-pay');},onPumpStatus: function(session,pumpNr,updateTTL){if(updateTTL&&updateTTL!==0){session.pump(pumpNr,'free');setTimeout(function(){session.pump(pumpNr,'in-use');},updateTTL*1000);setTimeout(function(){session.pump(pumpNr,'ready-to-pay');},updateTTL*1000*2);}else{session.pump(pumpNr,'free');}},onTransactions: function(session){console.log('onTransactions ',session);session.transaction(3,'c71b9838ad3dfc15','open','0100','EUR',86.83,72.978,19.0,13.65,'LTR',54.40,1.339);},onClear: function(session,pumpNr,siteTransactionId,paceTransactionId){console.log(pumpNr,siteTransactionId,paceTransactionId);}});constsite1=session.connect({siteID: '9eb56d5e-6563-430a-9d39-5ddf567e73d5',secret: '1d3b755d3bce8f09b4f8ff08dabf1796'});MIT