Language support
Yantrix aims to transpile to any turing-full language, the primary one being Typescript. Since implementation is independent, certain features may be shipped at varying times for different languages.
Feature | JavaScript | TypeScript | Python | Java |
---|---|---|---|---|
FSM from Diagram | ✅ | ✅ | ✅ | ✅ |
Reducers | ✅ | ✅ | ✅ | ✅ |
Payloads | ✅ | ✅ | ❌ | ❌ |
Expressions | ✅ | ✅ | ❌ | ❌ |
Built-In Functions | ✅ | ✅ | ❌ | ❌ |
User-defined Functions | ✅ | ✅ | ❌ | ❌ |
Event Subscription | ❌ | ❌ | ❌ | ❌ |
Event Firing | ❌ | ❌ | ❌ | ❌ |
Side Effects | ❌ | ❌ | ❌ | ❌ |
Type Mapping
Language | Language Type | Yantrix Type |
---|---|---|
JS/TS | String | String |
JS/TS | Number | Number |
JS/TS | Array | List |
JS/TS | Object | Object |
Python | String | String |
Python | Integer/Float* | Number |
Python | List | List |
Python | Dictionary | Object |
Java | String | String |
Java | Long | Number |
Java | List | List |
Java | Map | Object |
NOTE
* Values are typecasted depending on expression context