aboutsummaryrefslogtreecommitdiff
path: root/web
diff options
context:
space:
mode:
Diffstat (limited to 'web')
-rw-r--r--web/adapter.cpp16
-rw-r--r--web/examples/solve.mjs12
-rw-r--r--web/storage.cpp38
3 files changed, 25 insertions, 41 deletions
diff --git a/web/adapter.cpp b/web/adapter.cpp
index 3613730..c3134e9 100644
--- a/web/adapter.cpp
+++ b/web/adapter.cpp
@@ -108,17 +108,13 @@ bool solver_valid(const std::string& name)
108 108
109int poll_status(void *arg) 109int poll_status(void *arg)
110{ 110{
111 return nissy::status::RUN.value; 111 if (arg == NULL || *(int *)arg == -1)
112/*
113TODO: reintroduce poll status
114 int id = *(int *)arg;
115 if (id == -1)
116 return nissy::status::RUN.value; 112 return nissy::status::RUN.value;
117 return callFunctionInt(id); 113
118*/ 114 return callFunctionInt(*(int *)arg);
119} 115}
120 116
121#if 0 117#if 1
122 118
123nissy::solver::solve_result solve(std::string name, 119nissy::solver::solve_result solve(std::string name,
124 nissy::cube cube, nissy::nissflag nissflag, unsigned minmoves, 120 nissy::cube cube, nissy::nissflag nissflag, unsigned minmoves,
@@ -212,17 +208,17 @@ EMSCRIPTEN_BINDINGS(Nissy)
212 .function("toString", &nissy::cube::to_string) 208 .function("toString", &nissy::cube::to_string)
213 ; 209 ;
214 210
211/*
215 emscripten::register_vector<std::string>("StringVector"); 212 emscripten::register_vector<std::string>("StringVector");
216 emscripten::value_array<nissy::solver::solve_result>("SolveResult") 213 emscripten::value_array<nissy::solver::solve_result>("SolveResult")
217 .element(&nissy::solver::solve_result::err) 214 .element(&nissy::solver::solve_result::err)
218 .element(&nissy::solver::solve_result::solutions) 215 .element(&nissy::solver::solve_result::solutions)
219 ; 216 ;
220/* 217*/
221 emscripten::class_<nissy::solver::solve_result>("SolveResult") 218 emscripten::class_<nissy::solver::solve_result>("SolveResult")
222 .property("err", &nissy::solver::solve_result::err) 219 .property("err", &nissy::solver::solve_result::err)
223 .property("solutions", &nissy::solver::solve_result::solutions) 220 .property("solutions", &nissy::solver::solve_result::solutions)
224 ; 221 ;
225*/
226 222
227 emscripten::function("countMoves", &nissy::count_moves); 223 emscripten::function("countMoves", &nissy::count_moves);
228 emscripten::function("solve", &solve, 224 emscripten::function("solve", &solve,
diff --git a/web/examples/solve.mjs b/web/examples/solve.mjs
deleted file mode 100644
index 8ff59c0..0000000
--- a/web/examples/solve.mjs
+++ /dev/null
@@ -1,12 +0,0 @@
1import Nissy from '../nissy_web_module.mjs'
2
3const nissy = await Nissy();
4
5var log = process.stdout.write.bind(process.stdout);
6//var log = console.log
7nissy.setLogger(nissy._addCallbackFunction(log))
8
9var cube = new nissy.Cube();
10cube.move('R\' U\' F');
11
12nissy.solve('h48h0k4', cube, nissy.NissFlag.normal, 0, 8, 2, 99, 4, -1);
diff --git a/web/storage.cpp b/web/storage.cpp
index 4be3066..4d0959f 100644
--- a/web/storage.cpp
+++ b/web/storage.cpp
@@ -13,29 +13,29 @@ std::string getprefix() {
13} 13}
14 14
15EM_ASYNC_JS(int, loadfs, (), { 15EM_ASYNC_JS(int, loadfs, (), {
16 const dir = '/tables'; 16 const dir = '/tables';
17 const inBrowser = typeof window !== 'undefined'; 17 const inBrowser = typeof window !== 'undefined';
18 const inWorker = typeof WorkerGlobalScope !== 'undefined' && 18 const inWorker = typeof WorkerGlobalScope !== 'undefined' &&
19 self instanceof WorkerGlobalScope; 19 self instanceof WorkerGlobalScope;
20 20
21 if (!(inBrowser || inWorker)) return; 21 if (!(inBrowser || inWorker))
22 return;
22 23
23 if (!FS.analyzePath(dir).exists) 24 if (!FS.analyzePath(dir).exists)
24 FS.mkdir(dir); 25 FS.mkdir(dir);
25 26
26 if (FS.analyzePath(dir).object.mount.mountpoint != dir) { 27 if (FS.analyzePath(dir).object.mount.mountpoint != dir) {
27 FS.mount(IDBFS, { autoPersist: true }, dir); 28 FS.mount(IDBFS, { autoPersist: true }, dir);
28 29
29 await new Promise((resolve, reject) => { 30 await new Promise((resolve, reject) => {
30 FS.syncfs(true, function (err) { 31 FS.syncfs(true, function (err) {
31 if (err) { 32 if (err)
32 reject(err); 33 reject(err);
33 } else { 34 else
34 resolve(true); 35 resolve(true);
35 } 36 });
36 }); 37 });
37 }); 38 }
38 }
39}); 39});
40 40
41bool storage::read(std::string key, size_t data_size, char *data) 41bool storage::read(std::string key, size_t data_size, char *data)

Generated with cgit - Back to sebastiano.tronto.net