OpenBlock Runtime for Browser and Nodejs.


```
import * as fs from 'fs';
import * as OpenBlock from '../src/vm.mjs'
let buf = fs.readFileSync('./test/helloworld.xe');

let loadedScript = OpenBlock.ScriptLoader.loadScript(new Uint8Array(buf).buffer);

let vm = new OpenBlock.VM(loadedScript, { setTimeout: setTimeout, Output: console.log.bind(console) });
// vm.Output = alert.bind(window);
let fsmname = 'Start.Main';
let fsm = vm.CreateFSM(fsmname);
if (!fsm) {
    throw Error("No FSM named " + fsmname);
}
vm.update();
```

compile `.xs` file via OpenBlock Editor

[https://openblock.gitee.io](https://openblock.gitee.io)

or

[https://mlzone.areyeshot.com](https://mlzone.areyeshot.com)

open source project:
[https://gitee.com/openblock/openblock](https://gitee.com/openblock/openblock)