aboutsummaryrefslogtreecommitdiffstats
path: root/misc/yosysjs/yosyswrk.js
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2015-06-30 01:49:55 +0200
committerClifford Wolf <clifford@clifford.at>2015-06-30 01:49:55 +0200
commit7987f232003ea30ac9200e4ba0f5d14eae69505c (patch)
treec4ac0ce41c01f0137fda827e6e7d6b0ae2008eaf /misc/yosysjs/yosyswrk.js
parent77e89399a659e5c16e5cd6a8040e38e811e7192d (diff)
parent358e41591891fc74045860b0c3364cb155726b30 (diff)
downloadyosys-7987f232003ea30ac9200e4ba0f5d14eae69505c.tar.gz
yosys-7987f232003ea30ac9200e4ba0f5d14eae69505c.tar.bz2
yosys-7987f232003ea30ac9200e4ba0f5d14eae69505c.zip
Merge branch 'master' of github.com:cliffordwolf/yosys
Diffstat (limited to 'misc/yosysjs/yosyswrk.js')
-rw-r--r--misc/yosysjs/yosyswrk.js43
1 files changed, 43 insertions, 0 deletions
diff --git a/misc/yosysjs/yosyswrk.js b/misc/yosysjs/yosyswrk.js
new file mode 100644
index 000000000..1d77b3d25
--- /dev/null
+++ b/misc/yosysjs/yosyswrk.js
@@ -0,0 +1,43 @@
+importScripts('yosys.js');
+
+onmessage = function(e) {
+ var request = e.data[0];
+ var response = { "idx": request.idx, "args": [] };
+
+ if (request.mode == "run") {
+ try {
+ Module.ccall('run', '', ['string'], [request.cmd]);
+ response.args.push("");
+ } catch (e) {
+ response.args.push(mod.ccall('errmsg', 'string', [], []));
+ }
+ }
+
+ if (request.mode == "read_file") {
+ try {
+ response.args.push(FS.readFile(request.filename, {encoding: 'utf8'}));
+ } catch (e) { }
+ }
+
+ if (request.mode == "write_file") {
+ try {
+ FS.writeFile(request.filename, request.text, {encoding: 'utf8'});
+ } catch (e) { }
+ }
+
+ if (request.mode == "read_dir") {
+ try {
+ response.args.push(FS.readdir(request.dirname));
+ } catch (e) { }
+ }
+
+ if (request.mode == "remove_file") {
+ try {
+ FS.unlink(request.filename);
+ } catch (e) { }
+ }
+
+ postMessage([response]);
+}
+
+postMessage([{ "idx": 0, "args": [] }]);